linux环境下使用docker:jenkins对spring boot工程进行部署

获得jenkins 镜像

搜索jenkins相关镜像
docker search jenkins

《linux环境下使用docker:jenkins对spring boot工程进行部署》 image.png

可以看到官方提供的镜像有OFFICAIAL标识

通常也可以到docker store搜到所需镜像的使用说明
我是链接

下载链接

docker pull jenkins

启动镜像

docker run -d -p 8080:8080 -p 50000:50000 -v /jenkins:/var/jenkins_home jenkins
-d的意思是后台运行
-v + 本地路径:容器路径 :示例为将容器的/var/jenkins_home路径挂载到本地/jenkins 这么做的原因是/var/jenkins_home 为jenkins的运行文件目录,保存运行相关数据,如果不挂载到本地,当前镜像进程结束后不属于镜像的文件就会丢失。可以理解为镜像本身是不变的,每次运行都是从头开始。

登录并初始化

浏览器通过地址:8080端口访问
提示输入秘钥

《linux环境下使用docker:jenkins对spring boot工程进行部署》 image.png

由于是后台启动镜像,日志没有输出到终端内,可以从启动日志中查询秘钥:

1:查询当前运行镜像的ID

查询状态命令:
docker ps

《linux环境下使用docker:jenkins对spring boot工程进行部署》 image.png

2:查询日志命令
docker logs -f -t --since="2017-05-31" ${id}
根据上一步查询到的ID:输入命令
docker logs -f -t --since="2017-05-31" 2833f00d6755
可以秘钥

《linux环境下使用docker:jenkins对spring boot工程进行部署》 image.png

填入秘钥后提供初始化选项,我选择install suggested plugin

《linux环境下使用docker:jenkins对spring boot工程进行部署》 image.png

接着会进行一系列安装,完毕会要求你填写管理员账户信息

《linux环境下使用docker:jenkins对spring boot工程进行部署》 image.png

填写后即可启动:

《linux环境下使用docker:jenkins对spring boot工程进行部署》 image.png

《linux环境下使用docker:jenkins对spring boot工程进行部署》 image.png

安装全局工具

《linux环境下使用docker:jenkins对spring boot工程进行部署》 image.png

《linux环境下使用docker:jenkins对spring boot工程进行部署》 image.png

JDK

《linux环境下使用docker:jenkins对spring boot工程进行部署》 image.png

git

《linux环境下使用docker:jenkins对spring boot工程进行部署》 image.png

maven

《linux环境下使用docker:jenkins对spring boot工程进行部署》 image.png

点击save保存变更

安装maven项目插件

《linux环境下使用docker:jenkins对spring boot工程进行部署》 image.png

《linux环境下使用docker:jenkins对spring boot工程进行部署》 image.png
《linux环境下使用docker:jenkins对spring boot工程进行部署》 image.png

安装通过SSH发布插件

用于打包结束后把jar包远程发布到运行服务器用(注:这只是运行应用的一种办法)
在插件管理中安装该插件:

《linux环境下使用docker:jenkins对spring boot工程进行部署》 image.png

在系统设置里配置远程服务器

《linux环境下使用docker:jenkins对spring boot工程进行部署》 image.png

配置远程连接属性:
name:后续指定连接服务器
hostname:远程服务器ip
username:用户名
passphrase:密码

《linux环境下使用docker:jenkins对spring boot工程进行部署》 image.png

配置完后记得保存。

创建一个maven 项目

《linux环境下使用docker:jenkins对spring boot工程进行部署》 image.png
《linux环境下使用docker:jenkins对spring boot工程进行部署》 image.png

配置代码来源:

示例选择git
首先填写用户名密码

《linux环境下使用docker:jenkins对spring boot工程进行部署》 image.png

《linux环境下使用docker:jenkins对spring boot工程进行部署》 image.png

然后填写url

《linux环境下使用docker:jenkins对spring boot工程进行部署》 image.png

构建配置

《linux环境下使用docker:jenkins对spring boot工程进行部署》 image.png

运行工程jar包

这里使用的通过SSH方式连接一个服务器,然后运行一个脚本 :

《linux环境下使用docker:jenkins对spring boot工程进行部署》 image.png

脚本很简单:大致为查询已经运行的服务进程号,如有则删除,然后运行打包出来的这个jar包。spring boot集成了web容器,所以可以直接通过jar命令启动

kill -9 `ps aux | grep com.progen.Application | grep -v grep | awk '{print $2}'`
cp /dev/null nohup.out
nohup /jenkins/tools/hudson.model.JDK/bin/java -jar /jenkins/workspace/test/target/progen-0.0.1.jar com.progen.Application &
exit 0

其实是本地运行,就“偷懒”使用jenkin安装的那个( /jenkins/tools/hudson.model.JDK/bin/java),而/jenkins/workspace/test/target/为打包的路径,所以在source files 和Remote directory没有配置,既没有吧本地的jar包传输到远程目录。

《linux环境下使用docker:jenkins对spring boot工程进行部署》 image.png

仅配置运行脚本

《linux环境下使用docker:jenkins对spring boot工程进行部署》 image.png

这里运行的时候需要加上nohup ,不然运行结束后jenkins没有判断为成功结束,构建结果会显示为超时而不是成功。

《linux环境下使用docker:jenkins对spring boot工程进行部署》 image.png

    原文作者:yobanana
    原文地址: https://www.jianshu.com/p/3e0e6d0282cf
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞