临近毕业,自己的毕业设计需要发布到外网部署,顺便学习了jenkins部署,就不用我们自己手动去部署了。

1.安装jenkins及一些环境配置

官网有安装教程,java命令启动jenkins后,需要了解,下面几个方面:

jenkins pipeline构建使用git拉取代码指定clone和检出超时时间 jenkins从git拉代码_apache


(1) jenkins插件,因为我们是从git拉代码,然后maven编译成war包,最后放置到远程服务器上启动,所以这几个插件必装。

Git plugin,

Maven Integration plugin,

Publish Over SSH(跟远程服务器通讯使用)(2)jenkins 工具路径等配置

在Jenkins->Global Tool Configuration菜单下,我们要配好jdk,git,maven等路径

jenkins pipeline构建使用git拉取代码指定clone和检出超时时间 jenkins从git拉代码_远程服务器_02

(3)因为我们要通过SSH连接远程服务器,所以要配置连接远程服务器的信息
在Jenkins->系统设置 里,找到Publish over SSH,里面的信息如果有的都要填好,反正要保证Jenkins能访问到你的服务器

jenkins pipeline构建使用git拉取代码指定clone和检出超时时间 jenkins从git拉代码_tomcat_03

2.开始创建任务

(1)Jenkins->新建->构建一个maven项目
项目名称自己取一个

注意git的配置,Credentials需要自己事先配置好,公钥和秘钥都要保证配置的没有问题

jenkins pipeline构建使用git拉取代码指定clone和检出超时时间 jenkins从git拉代码_tomcat_04

Credentials没有自己新增一个

jenkins pipeline构建使用git拉取代码指定clone和检出超时时间 jenkins从git拉代码_远程服务器_05

(2)构建环境:
Source files:是个相对路径,相对于工作空间根目录下,该路径在jenkins->系统管理->系统设置的 工作空间根目录 中查看,比如我的就是

${JENKINS_HOME}/workspace/${ITEM_FULLNAME}

Remote directory :是个相对路径,相对于之前在Publish over SSH配置中的 Remote Directory选项。
Exec command :执行的脚本

-- 发送过来的war包更改下权限
chmod 777 /root/app/apache-tomcat-8.5.6/webapps/*.war
-- 进入远程的tomcat的bin目录
cd /root/app/apache-tomcat-8.5.6/bin
-- 查询远程服务器当前的tomcat是不是已经启动,启动了需要kill该进程,
-- "/root/app/apache-tomcat-8.5.6"需要改成自己的tomcat目录
tomcat_pid=`ps -ef | grep -v grep  | grep "/root/app/apache-tomcat-8.5.6" | awk '{print $2}' `
[ -n "$tomcat_pid" ] && kill -9 $tomcat_pid
-- 最后启动tomcat
./startup.sh

jenkins pipeline构建使用git拉取代码指定clone和检出超时时间 jenkins从git拉代码_apache_06

(3)maven build

jenkins pipeline构建使用git拉取代码指定clone和检出超时时间 jenkins从git拉代码_apache_07

最后保存好就可以点“立即构建”开始构建了,因为这里的配置很多,所以很难一次性就成功,构建的时候需要根据 “Console Output”查看随时输出的日志,根据日志查看哪里出现了问题。