Jenkins 安装 (四) 后端构建一个自由风格的软件项目

后端配置:

创建

任务名, 选中构建一个自由风格的软件项目

备注描述信息

配置 git 源码管理 (私服)

构建触发器 (默认)
构建环境 (默认)

构建 (微服务一个项目里面有多个子工程):

增加构建步骤: 选择 "调用顶层 Maven 目标"(如果没有引用类 common 可跳过)

字段参数说明
maven 版本Maven填写你自己配置的 maven 名字
目标clean install -Dmaven.test.skip=true -pl qqt-platform-common,qqt-platform-io,qqt-platform-redis -am我这配置的是我自己项目的引用类
POM${WORKSPACE}/pom.xml指定微服务项目的外层 pom.xml
再次添加一个 "调用顶层 Maven 目标"

字段参数说明
maven 版本Maven填写你自己配置的 maven 名字
目标clean install -Dmaven.test.skip=true这个是编译该工程成 jar 包
POM${WORKSPACE}/qqt-platform-admin/pom.xml指定你要发布的微服务项目的子工程的 pom.xml
ssh 推送 jar

字段参数作用
nametomcat03ssh server 因为之前的配置会默认出现 tomcat 业务服务器的名字
source fileqqt-platform-admin/target/*.jar构建之后,在 jenkins 服务器上是可以自动看到 jar 包的。(该路径不需要创建)
Remove prefix 自动删除路径前缀(不需要创建路径前缀)
Remote directoryssh 推送地址tomcat 业务服务器上的路径,需要提前在服务器 2 上创建该目录。 用来存放网站源代码编译成的 jar 包。(需要后台创建)
Exec command脚本路径tomcat 服务器 2 在接收到源码之后的自定义动作。 比如:启动 jar 包程序等等

启动 jar 包的.sh 脚本

#!/bin/bash
#这里可替换为你自己的执行程序,其他代码无需更改
APP_NAME=qqt-platform-admin-1.0.0.jar
  
#使用说明,用来提示输入参数
usage() {
 echo "Usage: sh 脚本名.sh [start|stop|restart|status]"
 exit 1
}
  
#检查程序是否在运行
is_exist(){
 pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}' `
 #如果不存在返回1,存在返回0 
 if [ -z "${pid}" ]; then
 return 1
 else
 return 0
 fi
}
  
#启动方法
start(){
 is_exist
 if [ $? -eq "0" ]; then
 echo "${APP_NAME} is already running. pid=${pid} ."
 else
 nohup /mnt/soft/java/jdk1.8.0_231/jre/bin/java -jar -Xms1024m -Xmx3072m /mnt/soft/malls/malls/admin/$APP_NAME --spring.profiles.active=dev1 > /mnt/soft/malls/malls/admin/qqt-platform-admin.log 2>&1 &
 echo "${APP_NAME} start success"
 fi
}
  
#停止方法
stop(){
 is_exist
 if [ $? -eq "0" ]; then
 kill -9 $pid
 else
 echo "${APP_NAME} is not running"
 fi
}
  
#输出运行状态
status(){
 is_exist
 if [ $? -eq "0" ]; then
 echo "${APP_NAME} is running. Pid is ${pid}"
 else
 echo "${APP_NAME} is NOT running."
 fi
}
  
#重启
restart(){
 stop
 start
}
  
#根据输入参数,选择执行对应方法,不输入则执行使用说明
case "$1" in
 "start")
 start
 ;;
 "stop")
 stop
 ;;
 "status")
 status
 ;;
 "restart")
 restart
 ;;
 *)
 usage
 ;;
esac

上一篇 Jenkins 安装 (三) 构建一个 Maven 工程
目录
下一篇 Jenkins 安装 (五) 前端构建一个自由风格的软件项目