加粗样式
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执行完成"