springboot项目使用jenkins做持续集成

第一步:

将jenkins.war放入tomcat/webapps目录

 

第二步:

1.用root用户登录

2.编辑profile文件:vi /etc/profile

3.在文件最后加入:export JENKINS_HOME=/work/data

保存退出后,再执行:source /etc/profile让配置生效

 

第三步:

jenkins配置maven、jdk、git/svn路径

6da78faaf34a9e4a6cb8778f39ee52ea5f2.jpg

 

第四步:

jenkins到指定路径下,使用mvn打包springboot项目到nexus上

3d317b5930a6a7cf4677fa4ea09215f4863.jpg

 

a836ae3de215b715722db111b67ce9aad6c.jpg

 

第五步:

配置项目启动停止脚本

#!/bin/bash
DEPLOY_PATH="/work/shell/deploy"
cd $DEPLOY_PATH
OLD_BUILD_ID=$BUILD_ID
echo $OLD_BUILD_ID
BUILD_ID=dontKillMe


sh datav-api.sh 0.0.1-Release

#改回原来的BUILD_ID值
BUILD_ID=$OLD_BUILD_ID
echo $BUILD_ID

5db7c8efca2503f6015176aca652cd23006.jpg

注意:

由于jenkins构建完毕后会杀掉所有启动的进程,临时改变BUILD_ID值,使得jenkins不会找到并结束掉run.sh启动的后台进程

 

shell启动脚本代码如下:

#!/bin/bash
VERSION=$1
NEXUS_URL="http://192.168.0.223:8081/nexus";
INSTALL_PATH="/work/www/datav-api"
GROUP_ID="com.eddue.biz"
ARTIFACT_ID="datav-api"
if [ -z "$VERSION" ]; then
    echo "ERROR: THE PROJECT'S VERSION MUST TO INPUT!"
    echo "ERROR: THE PROJECT'S DEPLOY EXIT!"
    exit 1
fi
if [ ! -d $INSTALL_PATH ];then
    mkdir -p $INSTALL_PATH
fi
cd $INSTALL_PATH
FILE_PATH=${INSTALL_PATH}"/"${ARTIFACT_ID}"-"${VERSION}
FILE_NAME=${ARTIFACT_ID}"-"${VERSION}".jar"
WORK_PATH=${INSTALL_PATH}"/work"
rm -rf $FILE_NAME
DOWNLOAD_URL=${NEXUS_URL}"/content/repositories/eddue/"${GROUP_ID//.//}"/"${ARTIFACT_ID}"/"${VERSION}"/"${FILE_NAME}
rm -rf $FILE_PATH
rm -rf $WORK_PATH
wget -c -q $DOWNLOAD_URL

DEPLOY_DIR=`pwd`
LOGS_DIR=""
if [ -n "$LOGS_FILE" ]; then
    LOGS_DIR=`dirname $LOGS_FILE`
else
    LOGS_DIR=$DEPLOY_DIR/logs
fi
if [ ! -d $LOGS_DIR ]; then
    mkdir -p $LOGS_DIR
fi
STDOUT_FILE=$LOGS_DIR/stdout.log

#先停止项目
PIDS=`ps -ef | grep java | grep "$FILE_NAME" | awk '{print $2}'`
if [ -z "$PIDS" ]; then
    echo "$FILE_NAME"
    echo "ERROR: The $SERVER_NAME does not started!"
else
   echo -e "Stopping the $SERVER_NAME ...\c"
   for PID in $PIDS ; do
      kill $PID > /dev/null 2>&1
   done

   COUNT=0
   while [ $COUNT -lt 1 ]; do
      echo -e ".\c"
      sleep 1
      COUNT=1
      for PID in $PIDS ; do
        PID_EXIST=`ps -f -p $PID | grep java`
        if [ -n "$PID_EXIST" ]; then
            COUNT=0
            break
        fi
      done
   done
   echo "Stop OK!\c"
fi




#启动项目

nohup java -jar  $FILE_NAME > $STDOUT_FILE 2>&1 &
echo "OK!"
echo "$FILE_NAME"
PIDS2=`ps -ef | grep java | grep "$FILE_NAME" | awk '{print $2}'`
echo "PID: $PIDS2"
echo "STDOUT: $STDOUT_FILE"
echo "Start Over!"



 

转载于:https://my.oschina.net/u/1017791/blog/3046270

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值