【无标题】Jenkins 配置项目打包,基于已有的项目

加粗样式

1.新建任务

德达一体化->新建任务

输入任务名称(不可重名),下面任务类型选择复制已有的项目

2.配置任务

2-1. 描述

写该任务的描述

打包记录保存设置

2-2. 源码管理

指定Gitlab地址以及登录用户

指定分支:

例如:*/cargoSecurity、 */master (生产环境指定master)

也可以打包的时候手动选择分支,指定变量:$Branch

2-3. 前置操作

执行shell命令 ,可以对打包的文件里面的配置进行替换,例如测试环境地址改成正式环境地址

sed -i's#172.17.40.25#192.168.110.119#g' platform-service-pay/src/main/resources/bootstrap.yml

2-4. 构建

指定pom文件地址 (jenkins workspace中对应任务的地址)

Maven执行项目的清理和安装。

clean install -Pprod -f pom.xml -Dmaven.test.skip=true

2-5. 后置操作

把Jar包从测试服务器(Jenkins服务器)打包到只能管理服务器上

Source files:ims-modules/ims-office/target/ims-office.jar

Remove prefix:ims-modules/ims-office/target

Remote directory:/root/ims

#执行脚本

source /etc/profile

#!/bin/bash

#保留最新的几个文件

ReservedNum=3

echo "保留最新的个文件:"+$ReservedNum

FileDir=/root/back/gatway

#服务名称

SERVER_NAME=ims-office

源jar路径,mvn打包完成之后,target目录下的jar包名称,也可选择成为war包,war包可移动到Tomcat的webapps目录下运行,这里使用jar包,用java -jar 命令执行

JAR_NAME=ims-office

time=date "+%Y%m%d%H%M%S"

JAR_PATH=/root/ims/gatway

echo "备份文件"

cp J A R P A T H / JAR_PATH/ JARPATH/JAR_NAME.jar F i l e D i r / FileDir/ FileDir/JAR_NAME.jar- t i m e . b k F i l e N u m = time.bk FileNum= time.bkFileNum=(ls -l $FileDir|grep ^- |wc -l)

while(( FileNum \> R e s e r v e d N u m ) ) d o O l d F i l e = ReservedNum)) do OldFile= ReservedNum))doOldFile=(ls -rt FileDir| head -1)

echo d a t e " D e l e t e F i l e : " date "Delete File:" date"DeleteFile:"OldFile

rm -rf F i l e D i r / FileDir/ FileDir/OldFile

let "FileNum--"

done

#杀进程

echo "查询进程id--> S E R V E R N A M E " s h e l l P I D = ' p s − e f ∣ g r e p " SERVER_NAME" shell PID=`ps -ef | grep " SERVERNAME"shellPID='ps−ef∣grep"SERVER_NAME" |grep -v grep| awk '{print $2}'`

for id in $PID

do

kill -9 $id

echo "killed KaTeX parse error: Expected 'EOF', got '#' at position 26: ... echo "结束进程完成" #̲======起任务======...JAR_PATH

#cp J A R W O R K P A T H / JAR_WORK_PATH/ JARWORKPATH/JAR_NAME.jar $JAR_PATH

echo "复制jar包完成"

cd $JAR_PATH

#修改文件权限

chmod 755 J A R P A T H / JAR_PATH/ JARPATH/JAR_NAME.jar

echo "准备jar执行"

BUILD_ID=DONTKILLME

nohup java -Xmx1024m -Xms512m -Xmn512m -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -Xloggc:./gclogs/$JAR_NAME.log -jar J A R P A T H / JAR_PATH/ JARPATH/JAR_NAME.jar > /dev/null 2>&1 &

echo "jar执行完成"

相关推荐
liu****28 分钟前
2.深入浅出理解虚拟化与容器化(含Docker实操全解析)
运维·c++·docker·容器·虚拟化技术
池央41 分钟前
CANN 诊断工具链深度解析:oam-tools 的自动化故障信息收集、软硬件状态快照与 AI Core 错误溯源机制
运维·人工智能·自动化
云边有个稻草人1 小时前
打工人摸鱼新姿势!轻量斗地主服务器,内网穿透让同事远程联机不翻车
运维·服务器·cpolar
乾元1 小时前
终端安全(EDR):用深度学习识别未知勒索软件
运维·人工智能·网络协议·安全·网络安全·自动化·安全架构
wbs_scy2 小时前
Linux 进阶指令实操指南:文件查看、时间管理、搜索压缩全场景覆盖(附高频案例)
linux·运维·服务器
安科瑞刘鸿鹏172 小时前
高速路灯故障难定位?用 ASL600 实现精确单灯监测与维护预警
运维·网络·物联网·安全
馨谙2 小时前
Ansible 事实(Facts)全面指南:自动化运维中的主机信息管理
运维·ansible
Lethehong2 小时前
实测可用|一文搞定OpenClaw部署,免费kimi-k2.5+飞书远程,新手也能秒上手
linux·运维·服务器·玩转openclaw·云端创意实践
馨谙2 小时前
Ansible处理程序完全指南:实现智能的任务触发机制
运维·ansible
承渊政道2 小时前
Linux系统学习【Linux基础开发工具】
linux·运维·笔记·学习·centos·编辑器