码迷,mamicode.com
首页 > 其他好文 > 详细

Jenkins安装配置回滚

时间:2021-01-04 10:31:33      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:信息   存在   创建工程   done   通知   github   方式   rm -rf   安装配置   

安装(ubuntu环境)

安装java环境

sudo apt-get install openjdk-8-jdk

安装jenkins

wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -
sudo sh -c ‘echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list‘
sudo apt-get update
sudo apt-get install jenkins

Jenkins常用命令

查看Jenkins状态:
sudo service jenkins status

启动Jenkins:
sudo service jenkins start

停止Jenkins:
sudo service jenkins stop

重启Jenkins:
sudo service jenkins restart

配置Jenkins

1、打开 ip:8080 进行开始配置,管理员密码可以通过下面方式获取:
cat /var/lib/jenkins/secrets/initialAdminPassword

2、按建议的方式安装插件

创建工程(示例)

1、填写基本信息
技术图片

2、参数化配置,用于部署和回滚
技术图片

3、源码(从github获取)
技术图片

4、构建触发器,github收到push事件后,通过webhook通知jenkins(需要在github上配置webhook),触发构建
技术图片

github上的配置:
技术图片

5、构建脚本
技术图片

根据选项进行Deploy或Rollback

case $Status  in
  Deploy)
    echo "Status:$Status"
    path="${WORKSPACE}/bak/${BUILD_NUMBER}"      #创建每次要备份的目录
    if [ -d $path ];
    then
        echo "The files is already  exists "
    else
        mkdir -p  $path
    fi
    
    pwd
    if [ -f "xxx.tar.gz" ];then
		rm xxx.tar.gz
	fi
	tar -zcvf xxx.tar.gz ./*
    
    cp -f xxx.tar.gz $path        		#将打包好的文件备份到相应目录,覆盖已存在的目标
    echo "Completing!"
    ;;
  Rollback)
      echo "Status:$Status"
      echo "Version:$Version"
      cd ${WORKSPACE}/bak/$Version            	#进入备份目录
      pwd
      cp -f xxx.tar.gz ${WORKSPACE}/      #将备份拷贝到程序打包目录中,并覆盖之前的文件
      ;;
  *)
  exit
      ;;
esac

技术图片

把代码复制到项目目录,解压(小本测试jenkins跟正式环境在一台服务器上)

cp /var/lib/jenkins/workspace/xxx/xxx.tar.gz /var/www/html/test
cd /var/www/html/test
tar -zxvf xxx.tar.gz
rm xxx.tar.gz

删除多余的备份文件

ReservedNum=5  #保留文件数
FileDir=${WORKSPACE}/bak/
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安装配置回滚

标签:信息   存在   创建工程   done   通知   github   方式   rm -rf   安装配置   

原文地址:https://www.cnblogs.com/lurenjiashuo/p/jenkins-install-and-rollback-config-example.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!