jenkins 多台服务器部署项目

环境:

A->jenkins git 等环境

B->需要部署的服务器

git 环境为线下环境 拉取后需要修改/替换pom,修改maven私服 再打包推送到B服务器 启动

  • 这里做替换 所以需要使用jenkins插件Config File Management 该插件可以替换我们项目中的文件.

正文:

  1. 配置 要替换的pom.xml 和 maven的配置文件.

    • 创建 pom.xml

      选择manager Jenkins--->Managed files

      image-20210706123252655

    • 选择Add a new Config 勾选一个普通的xml 选择新增一个xml格式文件.

    image-20210706123132408

    其他配置也同上

  2. 配置远程ssh 注:没有需要下载相关插件

  • 选择Manage Jenkins--->SystemConfiguration

image-20210706123807308

  • 找到Publish over SSH 填写服务器信息
  • image-20210706124108053
  1. 创建项目

    image-20210706124208914

  • 选择构建一个maven 项目

  • image-20210706124242811

  • 然后就是做一些配置了 配置拉取的代码地址及分支

  • image-20210706124404991

  • 配置替换的文件

  • image-20210706124625704

  • 配置 maven 命令

  • image-20210706124748119

  • 推送配置

  • 脚本如下

#!/bin/bash
source /etc/profile
BUILD_ID=dontKillMe
cd 上传文件的路径
mv xxx.jar ../xxx.jar
cd 运行的路径
pid=$(ps -ef | grep xxx.jar | grep -v grep | awk '{print $2}')
if ${pid}; then  
    echo "pid is null"
else
    kill -9 ${pid}  
fi
nohup java -Xms1024m -Xmx1024m -jar xxx.jar > nohup.out & 2>&1

这里遇到了一些问题 就是部署的时候 远程shell命令 没有起到作用. 找到解决方案如下: 才有以上的配置

source /etc/profile
 
然后在命令执行的位置添加下面这行命令:
BUILD_ID=dontKillMe
nohup java -jar app.jar > nohup.out & 2>&1 &
注意:source /etc/profile 如果没有,没有错误也不会有java执行的进程
增加 source /etc/profile 后不能直接使用nohup java -jar app.jar & 这时候Jenkins会打印app启动信息
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值