Jenkins自动构建项目配置脚本

java项目构建脚本

cat /data/soft/shell/startcms.sh
#!/bin/bash
pid=`lsof -n -P -t -i :21004`
[ -n "$pid" ]&& kill -9 $pid 
sleep 3
APP_HOME="/data/webdata/apps"
NAME="cms"
cd $APP_HOME
[ ! -d "bak" ]&& mkdir "bak"
if [ -f "$NAME.jar" ];then
cp $NAME.jar "bak/$NAME.jar_`date +%Y%m%d`";
fi
if [ -f  $NAME.jar ];then rm -rf $NAME.jar;
else
echo "No  $NAME.jar is existed";
fi
cp -fr "/var/lib/jenkins/workspace/$NAME/$NAME.server/target/$NAME.jar" "/data/webdata/apps/"
nohup `java  -Xmx512m -Xms256m -jar -Dspring.profiles.active=test $APP_HOME/$NAME.jar` > /dev/null 2>&1&

根据你的项目jar的名称修改NAME的值
/var/lib/jenkins/workspace/工作空间
/data/webdata/apps项目运行时jar的位置

vue构建脚本

vue项目配置
1.新建一个自由风格的软件项目
2.源码管理配置git地址和版本号,授权账号
3.构建触发器选择Generic Webhook Trigger
Optional filter选择Poll SCM,定时表达式填写* */2 * * *
4.构建环境选择Provide Node & npm bin/ folder to PATH(如果没有先跳过保存,在管理界面中的菜单:系统管理->管理插件-可选插件,右上角搜索 nodejs,在列表中选择安装)
5.构建脚本如下

echo $PATH
node -v
npm -v

npm install -g cnpm --registry=https://registry.npm.taobao.org
cnpm install
npm run build

cd dist
/bin/cp -fr ./* /data/webdata/apps/zwy_exchange_web

安装淘宝镜像cnpm为全局
最后拷贝编译后的文件到部署目录中

通过ssh执行远程服务器上的脚本

Jenkins和远程server可以互通,pub相互拷贝到~/author中

Jenkins需要ssh到远程server上并执行其服务器上的脚步;

1.系统设置
SSH remote hosts配置中新增远程服务器的ssh授权

2.新增插件
依次点击 系统管理->插件管理-> 可选插件-> 过滤搜索框中 查找如下插件:
SSH Plugin:这个插件使用 SSH 协议执行远程 shell 命令。
Deploy to container Plugin
publish over SSH,

3.其他配置如前,这里主要注意Post-Steps
1.勾选Run only if build succeeds
2.新增Execute shell script on remote host using ssh,贴如下执行命令
BUILD_ID=DONTKILLME
sh /data/soft/shell/startapp.sh epay test

参考资料:
https://blog.csdn.net/l1028386804/article/details/78669778
https://blog.csdn.net/ming19951224/article/details/80958761

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值