gitlab+jenkins+pipeline打包java项目

背景:使用gitlab+jenkins+pipeline打包java项目
1.配置jenkins+pipeline项目
gitlab+jenkins+pipeline打包java项目
备注上面的代码项 目 地址:http://git.bqjr.club/NCP/new_crm_platform.git&lt;br/&gt;<br/>服务器地址:PRD 环境192.168.5.75 &lt;br/&gt;<br/>项目 经理:&lt;br/&gt;<br/>开发 人员:&lt;br/&gt;<br/>&lt;p style="color: #e9013b !important;font-weight: 700;"&gt;注意事项: 由于生产环境是负载均衡, 请注意单台部署! &lt;/p&gt;
2.配置pipeline
gitlab+jenkins+pipeline打包java项目
备注:上面的代码&lt;p style="color: #e9013b !important;font-weight: 700;"&gt;选择分支,根据项目组提供的分支构建&lt;/p&gt;
3.pipeline语法
`node {
try {
stage('代码拉取') {
//input id: 'ncpprd', message: '发布生产请找-/admin--批准?', ok: '确认', submitter: 'admin,xiongxinjiang'
sh "rm -rf /var/lib/jenkins/jobs/prd-mt-ncp75/workspace/*"
git branch: "${BranchName}", credentialsId: 'xiongxj', url: 'http://test@git.test.club/NCP/new_crm_platform.git'
}
stage('项目构建') {
sh "/usr/local/maven/bin/mvn -Dmaven.test.skip=true clean package"
}
stage('上传WAR包') {
sh "scp -P 10022 target/ncp-0.0.1-SNAPSHOT.war bqadm@192.168.5.75:/home/bqadm/sftp/"
}
stage('项目部署'){
sh "ssh -p 10022 bqadm@192.168.5.75 'sudo sh -x /opt/shell/ncp_deploy75.sh'"

   } 
}catch (any) {
    currentBuild.result = 'FAILURE'
    throw any
}

}`

4.ncp_deploy75.代码

#/bin/bash
#买买提新客服平台系统自动部署脚本 适用tomcat程序
JAVA_HOME=/usr/local/jdk1.8.0_144
JRE_HOME=/usr/local/jdk1.8.0_144/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
CATALINA_HOME=/opt/ncp-tomcat
export JAVA_HOME JRE_HOME CLASS_PATH PATH
############################################

app_name=ncp-tomcat
echo "==============[停止tomcat]=================="
/opt/ncp-tomcat/bin/catalina.sh stop

#ps -ef |grep -v grep  |grep "${app_name}"
ps -ef |grep java |grep "${app_name}" |grep -v grep
  if [ "$?" == 0 ];then
    for x in `ps -ef |grep -v grep |grep java |grep "${app_name}" |awk '{print $2}'`;do
        echo "Killing pid $x ..."
        sudo  kill -15 $x
    done
else
    echo "Stop app [ SUCCESS ]"
fi

sleep 3

ps -ef |grep -v grep |grep java |grep "${app_name}"
  if [ "$?" == 0 ];then
    for x in `ps -ef |grep -v grep |grep java |grep "${app_name}" |awk '{print $2}'`;do
        echo "Killing pid $x ..."
        sudo  kill -9 $x
    done
else
    echo "Stop app [ SUCCESS ]"

sleep 3
fi
echo "==============文件备份========================"
if [ ! -f "/home/bqadm/sftp/ncp-0.0.1-SNAPSHOT.war" ];then
   echo "没有文件或已为最新文件"
else
  sudo mv /opt/ncp-tomcat/webapps/ncp.war /opt/war_bak/ncp.war_$(date +%Y-%m-%d_%H%M%S)
  sudo rm -rf /opt/ncp-tomcat/webapps/*

echo "============拷贝文件======================"
   mv /home/bqadm/sftp/ncp-0.0.1-SNAPSHOT.war  /opt/ncp-tomcat/webapps/ncp.war
   sleep 5
   echo "================重启tomcat============"
   /opt/ncp-tomcat/bin/startup.sh
   sleep 10
   ps -ef |grep java |grep "${app_name}" |grep -v grep

fi

转载于:https://blog.51cto.com/whitehat/2399403

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值