环境:
A->jenkins git 等环境
B->需要部署的服务器
git 环境为线下环境 拉取后需要修改/替换pom,修改maven私服 再打包推送到B服务器 启动
- 这里做替换 所以需要使用jenkins插件
Config File Management
该插件可以替换我们项目中的文件.
正文:
-
配置 要替换的pom.xml 和 maven的配置文件.
-
创建 pom.xml
选择
manager Jenkins
--->Managed files
-
选择
Add a new Config
勾选一个普通的xml 选择新增一个xml格式文件.
其他配置也同上
-
-
配置远程ssh 注:没有需要下载相关插件
- 选择
Manage Jenkins
--->SystemConfiguration
- 找到
Publish over SSH
填写服务器信息
-
创建项目
-
选择构建一个maven 项目
-
然后就是做一些配置了 配置拉取的代码地址及分支
-
配置替换的文件
-
配置 maven 命令
-
推送配置
-
脚本如下
#!/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启动信息
注意:本文归作者所有,未经作者允许,不得转载