path="${WORKSPACE}/git" # 创建目录
if [ -d $path ];
then
echo "The files is already exists "
else
mkdir -p $path
fi cd $path path="${WORKSPACE}/git/bc-common" # 创建目录
if [ -d $path ];
then
echo "The files is already exists "
else
git clone git@xxx:root/bc-common.git
fi cd bc-common
pwd
git pull cd BC-Comm-Basic
mvn clean package -Dmaven.test.skip=true
mvn install cd ../BC-Comm-FeignEI
mvn clean package -Dmaven.test.skip=true
mvn install

path="${WORKSPACE}/git" # 创建目录
if [ -d $path ];
then
echo "The files is already exists "
else
mkdir -p $path
fi cd $path path="${WORKSPACE}/git/bc-bas-configrepository" # 创建目录
if [ -d $path ];
then
echo "The files is already exists "
else
git clone git@xxx:root/bc-bas-configrepository.git
fi cd $path
pwd
git pull
case $Status in
Deploy)
echo "Status:$Status"
path="${WORKSPACE}/bak/BC-BUS-PlatformServer/${BUILD_NUMBER}" # 创建每次要备份的目录
if [ -d $path ];
then
echo "The files is already exists "
else
mkdir -p $path
fi
\cp -f ${WORKSPACE}/BC-BUS-PlatformServer/target/*.jar $path # 将打包好的jar包备份到相应目录,覆盖已存在的目标
echo "Completing!"
;;
Rollback)
echo "Status:$Status"
echo "Version:$Version"
cd ${WORKSPACE}/bak/BC-BUS-PlatformServer/$Version # 进入备份目录
\cp -f *.jar ${WORKSPACE}/BC-BUS-PlatformServer/target/ # 将备份拷贝到程序打包目录中,并覆盖之前的war包
;;
*)
exit
;;
esac

  

ReservedNum=6 # 保留文件数
FileDir=${WORKSPACE}/bak/BC-BUS-PlatformServer/
date=$(date "+%Y%m%d-%H%M%S") cd $FileDir # 进入备份目录
FileNum=$(ls -l | grep '^d' | wc -l) # 当前有几个文件夹,即几个备份 while(( $FileNum > $ReservedNum))
do
OldFile=$(ls -rt | head -1) # 获取最旧的那个备份文件夹
echo $date "Delete File:"$OldFile
rm -rf $FileDir/$OldFile
let "FileNum--"
done

Jenkins-java项目自动发布的更多相关文章

  1. docker swarm实现java项目的发布/滚动更新/回滚/镜像管理

    使用docker swarm滚动更新java项目,部署集群,这一切的前提是使用Jenkins+maven进行项目打包,分发等功能 具体可以参考我的另外三篇文章 https://www.cnblogs. ...

  2. eclipse项目自动发布到tomcat目录,缺文件。

    eclipse项目自动发布到tomcat目录,缺文件. 解决方案: 项目--Properties-->Deployment Assembly-->Add--> Folder Add- ...

  3. Java学习之道:Java项目打包发布

    Java项目打包发布 如果只想发布为一个可执行的jar包,使用eclipse的Export功能就可以了 使用eclipse的Export功能,将项目中的所有package打包为一个pet.jar文件, ...

  4. Java项目打包发布

    Java项目打包发布 如果只想发布为一个可执行的jar包,使用eclipse的Export功能就可以了 使用eclipse的Export功能,将项目中的所有package打包为一个pet.jar文件, ...

  5. Eclipse中将web项目自动发布到Tomcat webapps下(转)

    A:FileàDynamic Web Project[工程名:test] B:右键WebContent,New-->Jsp File C:右键test,Run AsàRun on Serverà ...

  6. Jenkins+Ansible+Gitlab自动发布/回滚Spring项目

    一.实现方法流程图 流程图如下:代码托管在本地GitLab上(为了复现整套流水线,我直接使用了GitHub,懒得再搭建GitLab),开发完成后提交代码到代码仓库,[自动]触发Jenkins进行持续集 ...

  7. 使用jenkins 实现 .net core项目自动发布到 docker

    在Docker内运行Jenkins pull镜像  docker pull jenkins/jenkins:lts Dockerfile FROM jenkins/jenkins:lts USER r ...

  8. Jenkins 搭建U3D自动发布 Android

    工具 [u3d相关的PostProcessBuildPlayer,PerformBuild.cs] 1.Jenkins 开源包  Java -jar jenkins.war,参考链接 http://w ...

  9. Jenkins 搭建U3D自动发布 IOS

    http://www.cnblogs.com/yinghuochong/archive/2013/09/01/3294940.html 1.安装包,工具略过. 2.插件管理 Subversion Pl ...

  10. Jenkins Vue项目自动构建以及构建后续操作

    Jenkins在linux上的安装教程:http://www.ityouknow.com/springboot/2017/11/11/springboot-jenkins.html 另外,关于在win ...

随机推荐

  1. 1025 PAT Ranking

    Programming Ability Test (PAT) is organized by the College of Computer Science and Technology of Zhe ...

  2. hdu2846 字典树(带id的)

    题意:      给你一些模式串,然后给你一些提问,每个提问是给你一个串,问你这个串在上 面的模式串中出现的次数. 思路:       一开始想到hash,但是因为用的是map,所以超时了,map的操 ...

  3. ARM汇编中的:比较指令--CMN / CMP / TEQ / TST

    1. 简介 CMP / CMN : 算术指令 TEQ / TST : 逻辑指令      它们总是会影响CPSR条件标志位. APSR(CPSR)与condition的关系图: 2. CMN -- 比 ...

  4. 病毒木马查杀实战第016篇:U盘病毒之逆向分析

    比对脱壳前后的程序 我们这次所要研究的是经过上次的脱壳操作之后,所获取的无壳病毒样本.其实我们这里可以先进行一下对比,看看有壳与无壳的反汇编代码的区别.首先用IDA Pro载入原始病毒样本: 图1 可 ...

  5. 基于Frida框架打造Art模式下的脱壳工具(OpenMemory)的原理分析

    本文博客地址:https://blog.csdn.net/QQ1084283172/article/details/80956614 作者dstmath在看雪论坛公布一个Android的art模式下基 ...

  6. nodejs-函数&路由

    函数------------------------------------------------------------ 基本函数 function say(word) { console.log ...

  7. Windows PE变形练手2-开发一套自己的PE嵌入模板

    PE嵌入模板 编写一段代码,生成一个已经处理过重定位信息,同时所有的内容都在代码段里,并且没有导入表的PE程序,把这个程序嵌入到其他PE的相关位置,能够独立的运行,接下来是整理了2个模板,一个是Hel ...

  8. Linux-鸟菜-6-文件与目录的 默认权限、隐藏权、特殊权限

    Linux-鸟菜-6-文件与目录的 默认权限.隐藏权.特殊权限 除了基本r,w,x权限外,在Linux还可以设定其他系统隐藏属性,可以用chattr来设定,和lsattr来查看,但注意一点,CentO ...

  9. [BUUCTF-Pwn]刷题记录1

    [BUUCTF-Pwn]刷题记录1 力争从今天(2021.3.23)开始每日至少一道吧--在这里记录一些栈相关的题目. 最近更新(2021.5.8) 如果我的解题步骤中有不正确的理解或不恰当的表述,希 ...

  10. 查看.class文件的工具

    1.JDK 提供的 javap -c javap -c  test.class 2.将test.class用idea打开.