Java持续集成

之前有看到过nexus,但不了解干什么的。

想要搭建Maven仓库,可以下载nexus私服,然后在项目的pox.xml中增加需要的依赖以及Repository的位置配置即可

最近有在了解持续集成,项目有被部署到Docker,然后使用Jenkins提供页面化配置

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。

SpringBoot+Maven+svn+docker+jenkins 自动化部署项目过程

首先在pom.xml加入下面的配置


            build-push-docker
            
                
                    
                        com.spotify
                        docker-maven-plugin
                        1.0.0
                        
                            
                            
                                build-image
                                
                                install
                                
                                    build
                                

                                
                                    
                                    true

                                    镜像服务器地址
                                    http://url:端口

                                    
                                    ${project.basedir}/deploy
                                    
                                    url/mbd-web
                                     
                                         build-${docker_tag}
                                         latest
                                     

                                    
                                    
                                        
                                            /
                                            ${project.build.directory}
                                            mbd-web.war
                                        

                                    

                                    
                                    ${project.build.directory}/docker
                                

                            

                        

                    

                

            

        


        mbd-web
        ${project.basedir}/src/main/java
        ${project.basedir}/src/test/java
        
            
                ${project.basedir}/src/main/java
                false
                
                    **/*.java
                

            

            
                src/main/resources
                true
               
                    **/*.*
               

           

        

       
           
                ${project.basedir}/src/test/java
                false
               
                    **/*.java
               

           

       

        
       
       
           
                maven-war-plugin
                2.6
               
                   
                    true
                   
                    ${project.basedir}/src/main/web
                   
                       
                            ${project.basedir}/src/main/web/WEB-INF
                            WEB-INF
                            true
                           
                                web.xml
                           

                       

                       
                            ${project.basedir}/src/main/resources/conf-${profiles.active}
                            WEB-INF/conf
                            true
                           
                                *.*
                           

                       

                       
                            ${project.basedir}/src/main/resources
                            WEB-INF
                            true
                           
                                jdp-*.xml
                                conf/*.*
                           

                       

                   

               

           

       

    

Dockfile文件的内容

FROM tmp/tomcat:8.0-openjdk

ADD server.xml $CATALINA_HOME/conf/
ADD mbd-web.war $CATALINA_HOME/webapps/

ENV JAVA_OPTS "-Xms512m -Xmx1024m"

CMD ["catalina.sh", "run"]

deploy.sh文件内容

#!/bin/sh
set -x
if [ x$1 != x ]; then
IMAGE_NAME=$1
else
IMAGE_NAME=tomcat
fi
if [ x$2 != x ]; then
TAG_NUM=build-$2
else
TAG_NUM=latest
fi
docker login url -u anonymous -p anonymous
docker rm -f $IMAGE_NAME || true
sleep 5
docker kill -s KILL $IMAGE_NAME || true
sleep 3
docker rm -f $IMAGE_NAME || true
docker pull founder/$IMAGE_NAME:$TAG_NUM
docker run -d --rm --name $IMAGE_NAME -p 8081:8080 founder/$IMAGE_NAME:$TAG_NUM



你可能感兴趣的:(Java持续集成)