新建 Maven 项目
在 Jenkins 首页,选择 “新建任务”,然后输入一个任务名称 “probe”,并选中 “Maven project” 点击当前页面下方的 “确定” 按钮。
在点击 “确定” 按钮后,选择 “源码管理” 选中 “Git”,配置 “RepositoriesURL” 为 git@192.168.200.127:/home/git/probe.git。
此时会出现报错,报错原因是没有把密钥对传给 Git,创建密钥对时要注意 Jenkins 的相关进程是以什么用户身份来运行的,是什么用户就用什么用户创建密钥对。
[root@jenkins ~]# vim /etc/sysconfig/jenkins
JENKINS_HOME="/var/lib/jenkins"
JENKINS_JAVA_CMD=""
JENKINS_USER="jenkins"
......
[root@jenkins ~]# grep jenkins /etc/passwd
jenkins:x:997:995:Jenkins Automation Server:/var/lib/jenkins:/bin/false[root@jenkins ~]# su -s /bin/bash jenkins
bash-4.2$ ssh-keygen
bash-4.2$ ssh-copy-id git@192.168.200.127
选择 “Build”
选择 “构建后操作” 中的 “send build artfacts over SSH” “Exec command” 中执行命令的含义是:在自动部署前先杀掉 Tomcat 进程,然后删除 war 包,用 scp 远程拷贝命令将 Jenkins 自动打包好的项目 war 包拷贝到当前 Tomcat 应用目录,然后重启 Tomcat。
scp 192.168.200.117:/var/lib/jenkins/workspace/probe/psi-probe-web/target/probe.war /usr/local/tomcat/webapps/
/usr/local/tomcat/bin/startup.sh
以上全部配置完成后,点击保存即可。然后点击刚才创建的 “probe” -> “Build Now” 直至项目构建完成。构建过程可以在 “控制台输出” 中查看到。
我这里虽然显示的是不稳定,但必要的操作都已完成,只是需要定义一个 JAVA_HOME 或 JRE_HOME 来运行这个程序,才显示的不稳定,再看下面我的 war 包已经部署了。
验证 Jenkins 自动打包部署结果
在 web 主机上查看 probe 目录是否被拷贝到 /usr/local/tomcat/webapps 目录下
[root@tomcat ~]# ls /usr/local/tomcat/webapps/
docs examples host-manager manager probe probe.war ROOT
从上面的结果来看,Jenkins 已把打好的 probe.war 包拷贝过来了。
从构建后的执行命令可以看出,Tomcat 已经重新启动,通过浏览器访问测试 probe 监控系统。http://192.168.200.128:8080/probe。