进行本实验前需要搭建完成Jenkins+Maven+SVN+Nexus 搭建持续集成环境
一、Publish Over SSH插件
说明:这个插件可以通过ssh连接其他Linux机器
官方说明:Publish Over SSH
安装步骤:
系统管理→管理插件→可选插件→Artifact Uploaders→Publish Over SSH
系统设置(所有的高级全部展开)
公共配置:
Passphrase:密码(key的密码,如果你设置了)
Path to key:key文件(私钥)的路径
Key:将私钥复制到这个框中
Disable exec:禁止运行命令
私有配置:
SSH Server Name:标识的名字(随便你取什么)
Hostname:需要连接ssh的主机名或ip地址(建议ip)
Username:用户名
Remote Directory:远程目录
Use password authentication, or use a different key:可以替换公共配置(选中展开的就是公共配置的东西,这样做扩展性很好)
私有配置的高级:
Port:端口(默认22)
Timeout (ms):超时时间(毫秒)默认即可
Disable exec:禁止运行命令
Test Configuration:测试连接
项目配置
启用步骤:
构建后操作→Add post-build action→Send build artifacts over SSH
SSH Server Name:选个一个你在系统设置里配置的配置的名字
Transfer Set Source files:需要上传的文件(注意:相对于工作区的路径。看后面的配置可以填写多个,默认用,分隔)
Remove prefix:移除目录(只能指定Transfer Set Source files中的目录)
Remote directory:远程目录
Exec command:把你要执行的命令写在里面
二、tomcat重启脚本
重启脚本要根据项目实际情况进行编写,此处仅供参考:
#!/bin/sh
tomcat_dirname=`cd .. ; pwd`
pid=`ps -ef| grep ${tomcat_dirname}| grep -v "grep"| awk '{print $2}'`
if [ -n "${pid}" ];then
echo "Will shutdown Tomcat: ${pid}"
kill -9 ${pid}
sleep 2
sh ${tomcat_dirname}/bin/startup.sh
new_pid=`ps -ef| grep ${tomcat_dirname}| grep -v "grep"| awk '{print $2}'`
if [ -n "${new_pid}" ];then
echo "Tomcat has been started.The new pid is ${new_pid}!"
sleep 2
#tail -f ${tomcat_dirname}/logs/catalina.out
else
echo "Tomcat did not start!"
fi
else
echo "No Tomcat process! Start in 3 seconds"
sleep 3
sh ${tomcat_dirname}/bin/startup.sh
#tail -f ${tomcat_dirname}/logs/catalina.out
fi
在jenkins中构建成功会有输出内容: