jenkins分发资源
2022年1月17日
jenkins分发资源
参考文档
https://www.cnblogs.com/lz0925/p/10860460.html
使用插件
pulish over ssh
步骤
设置连接服务器
系统管理 -> 系统设置(全局设置和路径),找到Publish over SSH设置 SSH servers name:ssh连接的名称,可以随意取,有区分度就可以
Hostname : 远程服务器的域名/IP, 建议是IP
Username: 用户名
Remote Directoey:远程目录(将来要部署代码到哪个目录,就写哪个目录,一般是www或者自定义的workspace目录都可以)
Use password authentication, or use a different key 这项勾上,使用密码或者key登录,二选一
Passphrase / Password 远程服务器密码,我采用密码登录的方式,选用key的话,应该是远程服务器你所选择的用户下的ssh key
然后保存,上面算是一个通用设置,关于某台远程服务器。
添加构建步骤
配置构建
shell脚本
文件传输之后需要shell脚本来执行程序,但是直接在jenkins这里编写shell有问题,jenkins构建完成后这个命令也会终止,所以要借助被部署机上的shell来完成部署
- 检查端口号杀死正在运行的程序,没有占用端口就直接运行程序
port='端口号'
pid=`lsof -i :$port|grep -v "PID" | awk '{print $2}'`
echo $pid
if [ "$pid" != "" ];
then
kill -9 $pid
echo "成功杀死端口$port pid:$pid"
sh /sh/run.sh
echo "成功运行"
else
echo "$port端口未被占用"
sh /sh/run.sh
echo "成功运行"
fi
- 运行程序shell
由于会出现找不到java命令的问题 配置了环境变量也会出现 所以直接使用绝对路径
/usr/local/java/jdk1.8.0_161/bin/java -jar -Duser.timezone=GMT+08 /jar/包名 > /log/项目名.log 2>&1 &
- 前端更新shell
rm -rf /usr/local/nginx/html/* # 删除nginx配置路径中文件
cp -r /html/* /usr/local/nginx/html/ # 复制接收路径里的文件到nginx配置路径
提示
内容正在完善中,请耐心等待...