Jenkins配置pipeline选择git分支发布

最近去了一家新的公司,公司发布方式比较原始,就是拖war包到服务器上面,这个我还能忍受、、问题是网速奇慢无比,于是决定自己弄一套jenkins玩玩.

具体代码在我的博客
由于项目是在gitlab上面,一个项目很多同事都需要发布,而且分支肯定是不一样的,这就需要支持用户选择自己的分支去发布。这篇文章就是介绍如何配置和支持选择分支发布的.
准备工作:

- 安装jenkins 这里面就不说了,网上教程很多。
- 安装git parmater的插件。

配置工作:

- 新建pipeline,选择参数化构建过程,这里面可以选择的功能很多。我们选择Git parmater 
- 流水线的定义中 我们选择pipeline script,在这个里面我们输入自定义的脚本,但是大致都是拉取代码,构建代码,和发布代码  

这里面我们举一个简单的例子,脚本如下:

pipeline {
    agent any
    parameters {
        gitParameter branchFilter: 'origin/(.*)', defaultValue: 'develop', name: 'BRANCH', type: 'PT_BRANCH'
    }
    stages {
        stage('Checkout') {
            steps {
                echo '开始拉取代码.....'
                git branch: "${params.BRANCH}", credentialsId: '85205ecb-ef06-4dba-ad74-23983ea3de19', url: 'http://10.200.1.192/xxx/xxx.git'
            }
        }        
        stage('Build') {
            steps {
                echo '开始执行打包操作.......'
                sh 'mvn clean package -U' 
            }
        }
       
        stage('Deploy') {
            steps {
                sh 'scp {项目路径}/target/{war或者jar} root@10.50.12.8:/opt/wars/{远程服务器的一个文件夹}'
                sh 'ssh root@10.50.12.8 "sh /opt/wars/{远程服务器的一个文件夹}/deploy.sh" '
                echo '测活成功'
            }
        }
    }
}

其中deploy.sh的代码文件如下:

echo '开始备份war..........................'
appName={应用名}
bakPath={文件备份的路径}
appPath={应用程序路径}
cp -f  ${appPath}/webapps/***.war ${bakPath}/bak/
sleep 3s
echo '正在停止服务................'
tomcat_id=`ps -ef | grep ${appName} | grep -v "grep" | awk '{print $2}'`
kill -9 $tomcat_id
sleep 1s
cp -f ${bakPath}/***.war ${appPath}/webapps
sleep 5s
export  JAVA_HOME=/usr/local/jdk1.8.0_152
export  JRE_HOME=/usr/local/jdk1.8.0_152/jre
sh ${appPath}/bin/startup.sh
tail -fn 0 --pid=`ps uxh|grep 'sed[[:space:]]\/startup'|awk '{print $2}'|sort -nr|head -1` ${appPath}/logs/catalina.out|sed /startup[[:space:]]in/Q
exit

 

  • 1
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值