Jenkins Pipeline 多环境发布部署

Jenkins Pipeline 多环境发布部署

项目框架使用的 Spring 应用,基于 Maven 插件搭建的,最终是可执行的 jar 应用程序。

项目库目录结构如下:

Pipeline 工程配置搭建过程这里就不多说了,如下的片段配图所示:

Jenkins 拉取GitLab项目代码库的配置片段

关键就是下面的 Pipeline 脚本配置

配置好就可以进行编译发布了,下面执行编译,看看效果吧。

点击 Console Output 查看编译 log 信息,如下图所示:

其实 项目工程通过 maven 编译成功了,也显示 BUILD SUCCESS 状态,工程 jar 包也顺利编译出来了。

到最后是准备发布工程包到服务器上去部署,显示了 Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password). 错误信息。

这说明是没有账号权限进行访问服务器,无法进行发布部署,接着去配置 key 账号,添加权限,就可以顺利进行发布了。

如下是先通过 ssh 访问发布服务器,看看是否有权限能进行访问,结果是需要进行账号密码匹配的。

两边服务器都需要互添加 id_rsa.pub 账号信息,在 authorized_keys 文件里进行添加,如下是两边服务器添加的账号。

两边服务器都添加好 key 账号后,再次使用 ssh 访问,看看是否还需要让输入密码进行匹配,如还是让输入密码,那就是配置有问题,还需要重新配置。

如直接就能登录了,说明配置就没有问题,可以进行 Jenkins 执行编译发布了,如下显示没有让再次输入密码,就已经可以正常登录了。

执行构建编译,面板状态显示如下,说明执行任务顺利完成。

查看一下编译 log 信息,编译成功,工程包也上传到指定目录。

登录发布服务器查看,工程包已上传到指定的发布路径下,

按上面配置 key 账号的过程,多配置几个不同的服务器账号,就可以直接进行多环境的发布了。

如下显示,一次配置3个不同的服务器,就可以同时发布到3台服务器上了,如有上百台的服务器,那就配置 Ansible 执行发布吧,非常方便。

© 著作权归 万事通 所有