Jenkins配置pipeline选择git分⽀发布
最近去了⼀家新的公司,公司发布⽅式⽐较原始,就是拖war包到服务器上⾯,这个我还能忍受、、问题是⽹速奇慢⽆⽐,于是决定⾃⼰弄⼀套jenkins玩玩.
具体代码在
由于项⽬是在gitlab上⾯,⼀个项⽬很多同事都需要发布,⽽且分⽀肯定是不⼀样的,这就需要⽀持⽤户选择⾃⼰的分⽀去发布。这篇⽂章就是介绍如何配置和⽀持选择分⽀发布的.
准备⼯作:
- 安装jenkins 这⾥⾯就不说了,⽹上教程很多。
- 安装git parmater的插件。
配置⼯作:
- 新建pipeline,选择参数化构建过程,这⾥⾯可以选择的功能很多。我们选择Git parmater
- 流⽔线的定义中我们选择pipeline script,在这个⾥⾯我们输⼊⾃定义的脚本,但是⼤致都是拉取代码,
构建代码,和发布代码
这⾥⾯我们举⼀个简单的例⼦,脚本如下:
pipeline {
agent any
parameters {军训感言500字
wincc教程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: '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 '开始备份'
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
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论