jenkins搭配git配置参数化构建

 

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

配置过程如下:

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

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

jenkins搭配git配置参数化构建_第1张图片

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

三、配置Git

jenkins搭配git配置参数化构建_第2张图片

四、添加执行shell步骤

jenkins搭配git配置参数化构建_第3张图片

代码如下:

#配置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 [email protected]:/mnt/jsw_gd/jsw-new-gdtest.war
	#eeeooff为了不显示远程的输出
	ssh [email protected] <

注意:需要先添加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

 

完成看一下效果:

jenkins搭配git配置参数化构建_第4张图片

你可能感兴趣的:(jenkins)