Jenkins远程服务自动构建

一、前言#

在实际项目开发中,Jenkins服务器与系统服务并非在同一台服务器上部署,那Jenkins如何将服务自动构建到对应的服务器上?本文就此来展开。

二、系统环境#

  • Jenkins2.32.2
  • Maven3.3.9
  • Java1.7
  • Git版本控制
  • 服务器环境:Jenkins部署192.168.0.1 远程服务器地址:192.168.0.2

实现的效果:从Git服务器定时下载变动代码,自动构建并上传到远程服务器并启动服务

三、安装Publish Over SSH插件#

Jenkins服务器需通过SSH登陆远程服务器,则安装Publish Over SSH插件,具体安装过程可以参看官方文档:https://wiki.jenkins-ci.org/display/JENKINS/Publish+Over+SSH+Plugin
安装完成以后,在系统管理-插件管理,可以看到如下内容:

Paste_Image.png

四、新建构建任务Job#

General 输入Job名称以及描述

Paste_Image.png

源码管理 填写源码所在服务器地址,可以是SVN也可以是GIT,我这里是在码云服务器上

Paste_Image.png

构建触发器 定时从Git服务器拉取更新代码进行构建,可根据实际需要进行设置

Paste_Image.png

构建环境 勾选“Send files or execute commands over SSH after the build runs”,设置SSH Publishers,选择构建目标服务器,并填写Source files(要拷贝的文件)、Remove prefix(在目标机器上去掉前缀路径)、Remote directory(远程服务器发布目录)、以及Exec command(需执行的Shell脚本)

Paste_Image.png

如果运行的是后台服务,Jenkins默认是不支持打开后台服务的,因此要设置export BUILD_ID=dontKillMe来支持启动后台服务

构建 选择Maven构建

Paste_Image.png

点击完成,一个远程服务构建就配置OK了,下面就可以启动了。

六、启动Job#

点击立即构建,即可启动一次构建,查看Console Output可以查看到构建日志

Paste_Image.png

输出Finished SUCCESS ,构建成功。打开网址可以正常访问远程服务,我这里的远程服务是Springboot搭建的服务,因此无需使用Web容器,如果需要使用Web容器,比如Tomcat,那么在构建环境或者构建中填写Shell命令,将构建好的war包复制到Tomcat的webapp下,并启动Tomcat服务。

注意:这里在启动的时候,会遇到问题,比如权限问题,Java的环境问题等,权限问题修改对应文件的权限设置即可,Java环境的问题通过修改.bash_profile文件来解决,在.bash_profile文件中配置Java环境变量即可解决问题

最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容