jenkins回滚

本次实验是依据一个已经有的项目进行

jenkins回滚_第1张图片

 此地方可以设置历史构建保存数量,防止自己硬盘被撑爆

jenkins回滚_第2张图片

 这里注意一下,scp复制的是jenkin项目的名称的一个文件,但是回滚的的id是gitlab项目中的

 

case $Status  in
  Rollback)
    echo "-----本次操作为回滚,版本号为$Version-----"
    git reset --hard $Version
    echo "-----回滚完成,打包中-----"   
    ;;
  *)
  exit
      ;;
esac

 大小写格式酌情处理

 jenkins回滚_第3张图片

 jenkins回滚_第4张图片

scp /var/lib/jenkins/workspace/bei-da/index.html [email protected]:/var/www/html/

回滚之前进行打包备份

 修改代码:

jenkins回滚_第5张图片

#!/bin/bash
case $status in
 Deploy)
   echo "---发布前请进行打包备份---"
 echo "status:$status"
 BACK_DIR=/var/lib/jenkins/workspace
   path="${BACK_DIR}/bak"
   if [ -d $path ];
   then
      echo "The files is already exists"
   else
      mkdir -p $path
   fi
cd ${BACK_DIR}/${JOB_NAME}
#${JOB_NAME}=项目名称(test)
#${BUILD_NUMBER}=第几次构建
    tar czf ${JOB_NAME}-${BUILD_NUMBER}.tar.gz *
    mv ${JOB_NAME}-${BUILD_NUMBER}.tar.gz ${BACK_DIR}/bak
scp ${WORKSPACE}/* [email protected]:/var/www/html/index.html
    echo "Completin!"
;;
 Rollback)
 INDEX=*.html
 BACK_DIR=/var/lib/jenkins/workspace
 cd ${BACK_DIR}/bak
 tar xf ${JOB_NAME}-${version}.tar.gz
    scp ${BACK_DIR}/bak/${INDEX} [email protected]:/var/www/html/index.html
    rm -rf ${INDEX}
 ;;
 *)
 exit
    ;;
esac

 下方的命令叉掉

jenkins回滚_第6张图片

 然后就可以验证了:

备份文件会放在/var/lib/jenkins/workspace/bak

 输入不同的数字,以达到恢复到不同状态

jenkins回滚_第7张图片

SSH远程部署

需要安装插件:我是把能装的全装了,为了保险 

jenkins回滚_第8张图片

 在全局配置的最下面

jenkins回滚_第9张图片

 进入一个空白项目,但是有gitlab信息的

jenkins回滚_第10张图片

 开始验证:

jenkins回滚_第11张图片

 

 jenkins回滚_第12张图片

 jenkins回滚_第13张图片

 

 

 Jenkins电子邮件报警

安装

 jenkins回滚_第14张图片

 jenkins回滚_第15张图片

 jenkins回滚_第16张图片

 选择之后只要报错就会收到电子邮件

Jenkins远程配置主机

 jenkins回滚_第17张图片

 Ansible

jenkins回滚_第18张图片

 yum安装一个ansible

创建一个组

 

 创建一个ansible目录和文件

---
- hosts: 192.168.100.205
  tasks:
  - name: hahaha
    file: path=/data/Chengzhang state=directory
~                                               

在jenkins上创建可以运行的项目

jenkins回滚_第19张图片

 可以开始实践了

jenkins回滚_第20张图片

----------------------------------------------报错了,但是无伤大雅----------------------------------------- 

 

 -------------------------------------------------重启jenkins--------------------------------------------------------

 jenkins回滚_第21张图片

!!!!!!!!!!!!!!!!!!!! 成功!!!!!!!!!!!!!!!!!!!!

jenkins集群

在Jenkins上同时执行多个任务时,单机性能可能达到瓶颈,使用Jenkins集群可以有效的解决此问题,让多台机器同时处理这些任务可以将压力分散,对单机版Jenkins的单点故障的隐患也有分散作用,今天就来实战快速搭建Jenkins集群,Jenkins版本是2.346.1;

单个maven会造成压力巨大的问题,所以需要做集群 

需要准备:

 准备java环境和maven环境

[root@apache ~]# tar xf apache-maven-3.5.4-bin.tar.gz 
[root@apache ~]# ls
anaconda-ks.cfg  apache-maven-3.5.4  apache-maven-3.5.4-bin.tar.gz  jdk-8u333-linux-x64.tar.gz
[root@apache ~]# mv apache-maven-3.5.4 /usr/local/maven



[root@apache ~]# java -version
java version "1.8.0_333"
Java(TM) SE Runtime Environment (build 1.8.0_333-b02)
Java HotSpot(TM) 64-Bit Server VM (build 25.333-b02, mixed mode)

jenkins回滚_第22张图片

 jenkins回滚_第23张图片

 jenkins回滚_第24张图片

 jenkins回滚_第25张图片

 jenkins回滚_第26张图片

 jenkins回滚_第27张图片

 上传java测试包

[root@bogon bei-da]# git add .
[root@bogon bei-da]# git commit -m "add java"
[main 8ee8cd7] add java
 20 files changed, 262 insertions(+)
 create mode 100644 test1/.classpath
 create mode 100644 test1/.project
 create mode 100644 test1/.settings/.jsdtscope
 create mode 100644 test1/.settings/org.eclipse.jdt.core.prefs
 create mode 100644 test1/.settings/org.eclipse.m2e.core.prefs
 create mode 100644 test1/.settings/org.eclipse.wst.common.component
 create mode 100644 test1/.settings/org.eclipse.wst.common.project.facet.core.xml
 create mode 100644 test1/.settings/org.eclipse.wst.jsdt.ui.superType.container
 create mode 100644 test1/.settings/org.eclipse.wst.jsdt.ui.superType.name
 create mode 100644 test1/.settings/org.eclipse.wst.validation.prefs
 create mode 100644 test1/pom.xml
 create mode 100644 test1/src/main/resources/com/Time.java
 create mode 100644 test1/src/main/webapp/WEB-INF/web.xml
 create mode 100644 test1/src/main/webapp/index.jsp
 create mode 100644 test1/target/classes/com/Time.class
 create mode 100644 test1/target/classes/com/Time.java
 create mode 100644 test1/target/m2e-wtp/web-resources/META-INF/MANIFEST.MF
 create mode 100644 test1/target/m2e-wtp/web-resources/META-INF/maven/www.linuxfan.cn.new/test1/pom.properties
 create mode 100644 test1/target/m2e-wtp/web-resources/META-INF/maven/www.linuxfan.cn.new/test1/pom.xml
 create mode 100644 time.java
[root@bogon bei-da]# git push origin main
Counting objects: 38, done.
Compressing objects: 100% (25/25), done.
Writing objects: 100% (37/37), 5.27 KiB | 0 bytes/s, done.
Total 37 (delta 1), reused 35 (delta 1)
To [email protected]:chengzhang/bei-da.git
   74f3ad4..8ee8cd7  main -> main
[root@bogon bei-da]# 

jenkins回滚_第28张图片

你可能感兴趣的:(大数据)