jenkins+docker+github实现项目自动部署(上)
紧接上文,本文实现push代码到github,服务器自动更新代码并重启
想要更新服务器的代码有很多方式,比如如果你项目是java web项目,你可以打包成war包,再发送到服务器的tomcat文件夹下。
我这里采取的方式是在项目里写一个启动脚本,启动脚本里git pull拉取最新代码,这样来更新代码,然后脚本里重启项目,以springboot项目为例,脚本代码如下:
#!/usr/bin/env bash
git pull #更新代码
#后面这些不重要,就是一些启动项目的指令,别复制了,会有问题的,
#反正就是把项目的启动指令放这了,比如java -jar 或者打war包,然后mv xxx.war 到tomcat里
proj_home=$PWD
img_output="demo"
#更新依赖
mvn clean package -U
docker build -t $img_output .
docker rm -f demo
docker run -d --restart=on-failure:5 --privileged=true \
-p 8080:8080 \
--name demo demo \
java \
-Duser.timezone=Asia/Shanghai \
-jar /home/demo.jar
好了,现在启动脚本有了,那么怎么让jenkins在知道有代码push时怎么执行这个脚本呢?
回到jenkins,我们需要装个ssh插件来远程登录服务器,运行脚本
系统管理----》插件管理
刷新一下,重启中,等待片刻
系统管理----》系统配置,如果插件安装成功的话,会多一个这个配置
保存
继续完成上一篇尚未完成的任务配置
保存,至此所有配置都已完成,可以点这里测试一下,是否能重启项目
如果这样能成功启动的话,可以试一下push代码看看是否能自动触发
完结撒花,这篇博客是我真正意义上的第一篇博客了,有点出乎我意料的难搞了,既然开始写了还是要写完的,这种配置类的教程博客还是不碰,写起来好麻烦啊〜( ̄△ ̄〜) (〜 ̄△ ̄)〜