jenkins配置

jarlist.txt

cloud-registry-server-1.0.jar
spring-cloud-gray-server-1.1.0.jar
cloud-transaction-server-1.0.jar
cloud-api-group-1.0.jar
cloud-boot-admin-1.0.jar

cloud.sh 操作jarlist.txt里面所有 例:./cloud.sh stop

#!/usr/bin --login
# 启动基础服务
basedir=/opt/fhyj/
commond=$1
filename=$basedir/script/jarlist.txt
if [ ! -n "$1" ]
then
echo "请输入start|stop|remove命令!"
fi
if [ "$commond" = "start" ]
then
    cat $filename | while read element 
    do
      sh $basedir/script/start-jar.sh $basedir $element dev
    done
fi
if [ "$commond" = "remove" ]
then
      cat $filename | while read element
      do
      sh $basedir/script/remove-jar.sh $basedir $element
      done
fi
if [ "$commond" = "stop" ]
then     
      cat $filename | while read element
      do
      sh $basedir/script/stop-jar.sh $element                     
      done
fi

cloud-one.sh 操作单个jar 例如:./cloud-one.sh stop xxx.jar

#!/usr/bin --login
# 启动基础服务
basedir=/opt/fhyj/
commond=$1
jarname=$2
 
if [ ! -n "$1" ]
then
echo "请输入start|stop|remove命令!"
fi
 
 
 
if [ "$commond" = "start" ]
then
sh $basedir/script/start-jar.sh $basedir $jarname dev
fi
 
if [ "$commond" = "remove" ]
then
sh $basedir/script/remove-jar.sh $basedir $jarname
fi
 
if [ "$commond" = "stop" ]
then
sh $basedir/script/stop-jar.sh $jarname
fi

start-jar.sh

#!/bin/bash --login
jarname=$2
basedir=$1
active=$3
echo "正在启动:$1$2"
export JAVA_OPTS="-server -Xms128M -Xmx128M -Xmn36M -Xss256k -XX:SurvivorRatio=4 -XX:MaxTenuringThreshold=15 -XX:+DisableExplicitGC -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=73 -XX:SoftRefLRUPolicyMSPerMB=0 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/opt/aupu/tmp/eureka.hprof -Duser.timezone=GMT+08 -Djava.security.egd=file:/dev/./urandom "
ulimit -n 65535
 
pid=$(ps -ef|grep java |grep $jarname|awk '{print $2}')
if [ -n "$pid" ]; then
kill -9 $pid
fi
nohup java $JAVA_OPTS -jar $basedir/server/$jarname --spring.profiles.active=$active > $basedir/logs/$jarname.log 2>&1 &

stop-jar.sh

#!/usr/bin/env bash
# 停止服务jar
jarname=$1
echo "正在停止:$1"
pid=$(ps -ef|grep java |grep $jarname|awk '{print $2}')
if [ -n "$pid" ]; then
kill -9 $pid
fi

remove-jar.sh

#!/usr/bin/env bash
# 停止服务、删除jar
basedir=$1
jarname=$2
echo "正在删除:$1$2"
pid=$(ps -ef|grep java |grep $jarname|awk '{print $2}')
if [ -n "$pid" ]; then
kill -9 $pid
fi
 
 
rm -rf $basedir/server/$jarname

说明:如果没有特殊情况,只需要维护jarlist.txt里面需要发布的jar的名称即可
cloud.sh 和cloud-one.sh 配合使用即可实现jenkins单个和全部服务重启的需求
以上脚本配合jenkins job使用
在jenkins平台按照命名规则维护好各自的job后加入到指定标签内。

pipeline script

remote='192.168.1.51'
gitbranch='dev'
usercid='jenkinsUserId'
giturl='http://xx.git'
remotejarpath='/opt/fhyj/server/'

node {
   def mvnHome
   try {

   stage('Preparation') {
      git branch:gitbranch,credentialsId: usercid, url: giturl
      mvnHome = tool 'maven'
   }
   stage('Build') {
      // Run the maven build
      if (isUnix()) {
         sh "'${mvnHome}/bin/mvn' clean package -Dmaven.test.skip=true"
      } 
   }
   stage('publish') {
       sh 'ssh root@'+remote+' /opt/fhyj/script/system-one.sh remove system-service-api-2.0.jar'
       step([$class: 'ArtifactArchiver', artifacts: '**/target/*.jar', fingerprint: true])
       sh 'scp '+'system-service/system-service-api/target/'+'system-service-api-2.0.jar'+' root@'+remote+':'+remotejarpath
       sh 'ssh root@'+remote+' /opt/fhyj/script/system-one.sh start system-service-api-2.0.jar'
       
   }
   }catch (err) {
	        currentBuild.result = "FAILURE"
	        throw err
	    }

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值