jenkins ssh 远程部署_神操作,一条命令搞定Jenkins自动化上线部署应用程序

335bcd371550abb7eb29f31114ed6aa2.png
0cf35d93b85e4d5665ef941748cce56e.png

任务配置

新建一个Jenkins任务

56ed6158790084742dcac2ac53c9af53.png

选择构建一个自由风格的软件项目

825f308a09f468daee9084db9495a59e.png

进去,直接把页面拉到最后,找到构建操作,选择执行Shell

10ac614324165215545e10281aa22d2f.png

构建的Shell脚本如下:

2832d19b2ab807a0991558bd8b3c4773.png

Shell脚本内容:

# 远程服务器地址 执行的脚本 环境 代码分支 远程部署的主机 服务名称 打包ssh 1.1.1.1 "/opt/scripts/deploy.sh env branch host ervice pack"# 判断打包是否成功if [ "$?"x != "0"x ];then echo "打包失败......."exit 1fi# 远程服务器地址 执行的脚本 环境 代码分支 远程部署的主机 服务名称 部署ssh 1.1.1.1 "/opt/scripts/deploy.sh env branch host ervice deploy"

Jenkins服务器上面的脚本内容如下:

Java项目

#!/bin/bash## 部署环境ENV=$1# 部署的代码Git分支BRANCH=$2# 部署的远程服务器IP地址HOST=$3# 部署的服务名称SERVICE=$4# 本地Maven打包的路径PACK_PATH=/opt/pack/$ENV# 更新Git代码update_code() {if [ "$BRANCH"x == "online"x ];thengit fetch --allgit reset --hard origin/mastergit pull origin master:masterelsegit fetch --allgit reset --hard origin/$BRANCHgit pull origin $BRANCH:$BRANCHfi}# 克隆代码clone_code() {if [ "$BRANCH"x == "online"x ];thengit clone -b master git@gitlab.hxq.cn:java/${1}.gitelsegit clone -b $BRANCH git@gitlab.hxq.cn:java/${1}.gitfi}# 打包pack() {# 判断打包目录是否存在if [ ! -d $PACK_PATH/$SERVICE_${ENV} ];thenmkdir $PACK_PATH/${SERVICE}_${ENV}ficd ${PACK_PATH}/${SERVICE}_${ENV}# 判断服务目录是否存在if [ ! -d $SERVICE ];thenclone_code $SERVICEfi# 更新本地Git代码update_code# 执行打包命令mvn clean install -Dmaven.repo.local=/root/.m2/repository}# 部署deploy() {# 判断远程备份目录是否存在 ssh $HOST "if [ ! -d /opt/bak/$SERVICE ];then mkdir /opt/bak/$SERVICE;fi" # 拷贝war包到目标主机的备份目录 scp $PACK_PATH/${SERVICE}_${ENV}/$SERVICE/target/${SERVICE}.war ${HOST}:/opt/bak/$SERVICE# 解压远程主机的war包到指定目录ssh $HOST "cd /opt/bak/$SERVICE; unzip ${SERVICE}.war -d $service" # 重启远程主机服务 ssh $HOST "cd /opt/soft/tomat ; ./bin/catalina.sh stop ; sleep 1 ; rm -rf webapps/* ; mv /opt/bak/$SERVICE/$service/* webapps/ ; ./bin/catalina.sh start"}case $5 in  pack) pack;; deploy) deploy;; *) echo "USAGE:$0 env branch host service pack|deploy"esac

其他端有需要的小伙伴,可以私信我,给你们需要的部署脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值