本文将介绍如何使用Jenkins构建包含多个模块的Spring Cloud项目,并对其中一个或多个模块的构建。

对应工程模块架构如下:

一个父工程下多个模块,并且每个模块下有各自的聚合工程
| - A
| — B
| ----- B1
| ----- B2
| — C
| ----- C1
| ----- C2

准备工作

确保你已经安装了Jenkins和Maven,并在Jenkins中配置了Maven的全局设置

  1. 新建item选择自由项目Freestyle project

    在这里插入图片描述

  2. 在源码管理上填入git地址,博主用的时gitlab,根据情况选择对应的源码库

在这里插入图片描述

  1. 构建环境选择jdk,博主用的11

在这里插入图片描述

  1. 新增构建步骤
    在这里插入图片描述
  2. 选择执行shell命令

在这里插入图片描述

  1. 填入maven打包命令
    在这里插入图片描述

  2. 再次新增构建步骤,选择通过ssh发送或执行shell命令
    在这里插入图片描述

  3. 填入服务器信息,及源文件信息
    在这里插入图片描述
    执行脚本:
    scp root@192.168.1.111:/var/lib/jenkins/workspace/B/B1_test/target/B1.jar /usr/local/java/B1/B1.jar /usr/local/java/B/./start.sh restart

/var/lib/jenkins/workspace/B/B1_test/target/B1.jar:是jenkins构建是创建的工作目录,
通过jenkins 构建产生的jar文件都在/var/lib/jenkins/workspace目录下

/usr/local/java/B:是目标服务器,需要启动jar文件的服务器目录

  1. shell脚本 start.sh
#! /bin/sh
PORT=8901
HOME='/usr/local/java/B'
LOG_HOME='/usr/local/java/B'
LOG_FILE='nohup.out'
JAVA_HOME='*.jar'
stop() {
PID=$(ps -ef | grep $PORT | grep -v grep | awk '{ print $2 }')
 if [ -n "$PID" ];then
   kill -9 $PID
   echo "$PORT KILL SUCCESS"
 fi
}
start() {
PID=$(ps -ef | grep $PORT | grep -v grep | awk '{ print $2 }')
  echo "START PID:$PID"
  PID1=$(ps -ef | grep $PORT | grep -v grep | awk '{ print $2 }')
  echo "START PID1:$PID1"
 if [ ! -n "$PID1" ];then
  cd $HOME
  echo "$PORT PORT START SUCESS"
   nohup java -jar   -Xmx512m -Xms512m -XX:MaxMetaspaceSize=256M -XX:MetaspaceSize=256M $JAVA_HOME --server.port=$PORT>$LOG_HOME/$LOG_FILE 2>&1 &
 fi
}
case $1 in
  start)
    start
  ;;
  stop)
    stop
  ;;
  restart)
   stop
   start
  ;;
  *)
  echo "please enter:stop,start or restart"
   exit 0
  ;;
esac


Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐