springboot+svn+maven+jenkins+docker+ssh 远程部署 持续集成

1 项目配置

  • springboot pom配置:

		
			
				src/main/docker
				true
				
					**/Dockerfile
				
				../docker
			

			
				src/main/resources
				${project.build.directory}/classes
			
		
		
			
				org.springframework.boot
				spring-boot-maven-plugin
			
			
				com.spotify
				docker-maven-plugin
				1.0.0
				
					
						build
						package
						
							build
						
					
					
						remove
						package
						
							removeImage
						
						
							${skipDockerRemove}
						
					
				
				
					${dockerServerId}
					http://${dockerRegistry}
					${project.build.directory}/docker
					${dockerImageName}
					
						
							/
							${project.build.directory}
							${project.build.finalName}.${project.packaging}
						
					
				
			
		
	
	

		
			docker-dev
			
				founder-docker-hub
				push.fzyun.io

				http://docker-host.serverpit.com:2375

				true
				${dockerRegistry}/founder/${project.artifactId}:${dockerImageTags}
				${project.version}
			
		
	

注意resource配置,需要增加resource配置,否则配置文件打入不到jar中。

  • Dockfile 配置:
FROM java:8
ADD zy-view-*.jar /app/springboot-zy-view.jar
ENTRYPOINT [ "java", "-jar", "/app/springboot-zy-view.jar" ]

zy-view 是你的项目名称。

2  jenkins 配置:

  如果你的jenkins和开发环境在一台机器上,则跳过ssh这一步

  •   安装ssh 插件备用:

在jenkins的系统配置中配置开发环境机器:

springboot+svn+maven+jenkins+docker+ssh 远程部署 持续集成_第1张图片

新增一个项目:

配置svn,比较简单,省略。

配置maven 省略

配置出发省略

build配置:

springboot+svn+maven+jenkins+docker+ssh 远程部署 持续集成_第2张图片

clean install -P docker-dev 

这个docker-dev和项目中pom配置对应。

到此为止可实现编码,打包,生成镜像,推送到私库。

一下是实现从私库拉取镜像到开发环境部署启动。

springboot+svn+maven+jenkins+docker+ssh 远程部署 持续集成_第3张图片

远程执行脚本:

c=`docker ps |grep 'zy-view'|wc -l`;

if [ $c -gt 0 ]
then
docker stop zy-view
docker rm zy-view
fi
sleep 15
docker pull founder/zy-view:0.1
docker run -p 8071:8071 -d -it --name='zy-view' founder/zy-view:0.1 
 

你可能感兴趣的:(spring-boot)