jenkins搭配git配置参数化构建

 

以前配置过一个jenkins参数化构建的项目,记录一下。

配置过程如下:

一、构建一个自由风格的软件项目。

二、勾选参数化构建过程。

注意:需要先下载插件Git Parameter

三、配置Git

四、添加执行shell步骤

代码如下:

#配置path变量
export path=/mnt/jenkins/workspace/jsw_gd_git/jsw_new_gd
#进入git目录
cd $path

#一、maven打包步骤:清除-替换配置文件-打包
  mvn clean
# 替换配置文件
if [ "$deploy_dir" = "test" ]; then
  echo "测试环境"
  if [ -f "$path/src/main/resouces/application_test.properties" ]; then
      cp -rf $path/src/main/resouces/application_test.properties $path/src/main/resouces/application.properties
  fi
elif [ "$deploy_dir" = "product" ]; then
  echo "生产环境"
  if [ -f "$path/src/main/resouces/application_product.properties" ]; then
      cp -rf $path/src/main/resouces/application_product.properties $path/src/main/resouces/application.properties
  fi
fi
  mvn package -Dmaven.test.skip=true
  
#二、复制打包传输文件步骤:通过scp命令复制到服务器,再执行远程shell
if [ "$deploy_dir" = "test" ]; then
	#复制到服务器
	scp -r $path/target/jsw-new-7.1.war jsw_gd@172.131.177.181:/mnt/jsw_gd/jsw-new-gdtest.war
	#eeeooff为了不显示远程的输出
	ssh jsw_gd@172.131.177.181 <<eeooff
		#执行远程shell文件,附带参数,判断环境
		/mnt/jsw_gd/publish_jsw.sh jsw_gd_test
		exit
	eeooff
	echo "测试环境部署完成"
elif [ "$deploy_dir" = "product" ]; then
	#复制到服务器
	scp -r $path/target/jsw-new-7.1.war jsw_gd@172.131.177.181:/mnt/jsw_gd/jsw_gd.war
	#eeeooff为了不显示远程的输出
	ssh jsw_gd@172.131.177.181 <<eeooff
		#执行远程shell文件,附带参数,判断环境
		/mnt/share_dir/publish_jsw.sh jsw_gd
		exit
	eeooff
	echo "生产环境部署完成"
fi

注意:需要先添加ssh免登陆。不会的参考:https://jingyan.baidu.com/article/c74d6000b499160f6a595de6.html

五、添加服务器端shell文件(我的是publish_jsw.sh)

#/bin/bash
set -e
tomcatName=""
tomcatPort=""
deploy_dir=""
datetime=$(date "+%y%m%d")

#一、处理部署目录和tomcat名称、端口
if [ "$1" = "jsw_gd_test" ]; then
        deploy_dir=jsw_gd
else
        deploy_dir=$1
fi
if [ "$1" = "jsw_gd" ]; then
        tomcatName=apache-tomcat-6.0.24-gd-jsw-7085-shengchan
        tomcatPort=7085
elif [ "$1" = "jsw_gd_test" ]; then
        tomcatName=apache-tomcat-6.0.24-gd-jsw-8085-test
        tomcatPort=8085
fi

#二、备份war包和application.properties文件
cd /mnt/$deploy_dir/$tomcatName/webapps
tar -zcf /mnt/share_dir/war_bak/ROOT_$1_$datetime.tar.gz ROOT
cp -rf /mnt/$deploy_dir/$tomcatName/webapps/ROOT/WEB-INF/classes/application.properties /mnt/$deploy_dir

#进程是否存在,存在则杀死
pid=$(ps -ef|grep tomcat| grep $tomcatPort | grep -v grep|awk '{print $2}' | xargs);
echo $pid;
if [ -n "$pid" ]; then
        echo "$pid not null"
       kill -9 $pid
fi

#三、删除旧war包,复制新的war包到tomcat的webapps下
cd /mnt/$deploy_dir/$tomcatName/webapps
rm -rf  /mnt/$deploy_dir/$tomcatName/webapps/ROOT
rm -f  /mnt/$deploy_dir/$tomcatName/webapps/ROOT.war
if [ "$1" = "jsw_gd_test" ]; then
	cp -rf /mnt/$deploy_dir/jsw-new-gdtest.war /mnt/$deploy_dir/$tomcatName/webapps/ROOT.war
else
	cp -rf /mnt/$deploy_dir/$4.war /mnt/$deploy_dir/$tomcatName/webapps/ROOT.war
fi

#四、执行tomcat启动startup.sh
cd /mnt/$deploy_dir/$tomcatName/bin
./startup.sh

 

完成看一下效果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值