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

获得jenkins 镜像

搜索jenkins相关镜像

docker search jenkins

AAffA0nNPuCLAAAAAElFTkSuQmCC

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端口访问

提示输入秘钥

AAffA0nNPuCLAAAAAElFTkSuQmCC

image.png

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

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

查询状态命令:docker ps

AAffA0nNPuCLAAAAAElFTkSuQmCC

image.png

2:查询日志命令

docker logs -f -t --since="2017-05-31" ${id}

根据上一步查询到的ID:输入命令

docker logs -f -t --since="2017-05-31" 2833f00d6755

可以秘钥

AAffA0nNPuCLAAAAAElFTkSuQmCC

image.png

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

AAffA0nNPuCLAAAAAElFTkSuQmCC

image.png

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

AAffA0nNPuCLAAAAAElFTkSuQmCC

image.png

填写后即可启动:

AAffA0nNPuCLAAAAAElFTkSuQmCC

image.png

AAffA0nNPuCLAAAAAElFTkSuQmCC

image.png

安装全局工具

AAffA0nNPuCLAAAAAElFTkSuQmCC

image.png

AAffA0nNPuCLAAAAAElFTkSuQmCC

image.png

JDK

AAffA0nNPuCLAAAAAElFTkSuQmCC

image.png

git

AAffA0nNPuCLAAAAAElFTkSuQmCC

image.png

maven

AAffA0nNPuCLAAAAAElFTkSuQmCC

image.png

点击save保存变更

安装maven项目插件

AAffA0nNPuCLAAAAAElFTkSuQmCC

image.png

AAffA0nNPuCLAAAAAElFTkSuQmCC

image.png

AAffA0nNPuCLAAAAAElFTkSuQmCC

image.png

安装通过SSH发布插件

用于打包结束后把jar包远程发布到运行服务器用(注:这只是运行应用的一种办法)

在插件管理中安装该插件:

AAffA0nNPuCLAAAAAElFTkSuQmCC

image.png

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

AAffA0nNPuCLAAAAAElFTkSuQmCC

image.png

配置远程连接属性:

name:后续指定连接服务器

hostname:远程服务器ip

username:用户名

passphrase:密码

AAffA0nNPuCLAAAAAElFTkSuQmCC

image.png

配置完后记得保存。

创建一个maven 项目

AAffA0nNPuCLAAAAAElFTkSuQmCC

image.png

AAffA0nNPuCLAAAAAElFTkSuQmCC

image.png

配置代码来源:

示例选择git

首先填写用户名密码

AAffA0nNPuCLAAAAAElFTkSuQmCC

image.png

AAffA0nNPuCLAAAAAElFTkSuQmCC

image.png

然后填写url

AAffA0nNPuCLAAAAAElFTkSuQmCC

image.png

构建配置

AAffA0nNPuCLAAAAAElFTkSuQmCC

image.png

运行工程jar包

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

AAffA0nNPuCLAAAAAElFTkSuQmCC

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包传输到远程目录。

AAffA0nNPuCLAAAAAElFTkSuQmCC

image.png

仅配置运行脚本

AAffA0nNPuCLAAAAAElFTkSuQmCC

image.png

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

AAffA0nNPuCLAAAAAElFTkSuQmCC

image.png

作者:yobanana

链接:https://www.jianshu.com/p/3e0e6d0282cf

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值