使用Jenkins远程到目标服务器自动部署后端backend程序

目标:通过一台专用的发布服务器,去git服务器拉指定分支(eg:test分支/prod分支)的代码,编译并且远程部署到目标服务器,重启web容器,达到发布代码自动化的效果。

1、在“发布服务器”部署好Jenkins,下载地址:

2、“发布服务器”与“git服务器”的免密登录:

可以根据我的另一篇文章来设置:ssh免密登录Linux服务器,GitLab公钥免密管理Git源码

附:
coding.net教程:https://dev.tencent.com/help/doc/faq/bbe781aee786/ssh
gitlab.com教程:https://gitlab.com/help/ssh/README#generating-a-new-ssh-key-pair

3、“发布服务器”与“目标服务器”免密登录:

可以根据我的另一篇文章来设置:ssh免密登录Linux服务器,GitLab公钥免密管理Git源码

4、Jenkins创建项目、拉取指定分支,autoconfig编译,执行发布脚本

第一步:在Jenkins创建一个maven项目(如果没有maven请安装Maven Integration插件):

第二步:填写源码信息,项目git地址,分支名称。(如果没有git请安装Git Parameter插件):

第三步:输入maven编译打包命令,一般采用clean package既可。由于我们项目用了阿里的AutoConfig,选择prod.properties配置文件进行生产环境打包。

第四步:将“publish_backend_remote_v1.2.sh”脚本上传到服务器,我的路径参考:/tool/shellscript/publish_backend_remote_v1.2.sh
备:脚本在我的Github:publish_backend_remote.sh,记得赋予sh文件执行权限。

由于“jenkins服务器”和“项目生产服务器”不是同一台服务器,所以发布脚本有一点复杂,不用担心,已经为大家写好注释了。

备注:其实有个Jenkins插件叫“Publish Over SSH”,可以简化刚才提到的shell脚本,也许我是个old school程序员,还是喜欢自己写shell把控发布逻辑。

第五部:打包之后执行一段shell脚本进行发布(关键发布逻辑在shell文件中):

5、测试发布:

保存后回到Jenkins项目页面,点击立即构建就会开始打包发布项目了,如果报错了,可以点击Build History看每一次发布的命令行终端输出的信息:

去打赏

觉得文章有用就打赏一下文章作者呗 ლ(╹◡╹ლ)

[微信] 扫描二维码打赏

[支付宝] 扫描二维码打赏

正在跳转到PayPal...

发表评论

Your email address will not be published / Required fields are marked *