通过GIT_COMMIT进行代码回滚
首先需要安装插件:conditional-buildstep

#!/bin/sh #$:send branch #$:jenkins build id #$:git commit branch=$ version=$ commit=$ case $branch in Pre) echo "branch: ${branch}" echo "version: ${version}" echo "commit: ${commit}" #同步代码到发布目录 #to do #备份版本git commit echo ${commit}>/home/wos/test2/${version}.txt ;; Real) echo "branch: ${branch}" echo "version: ${version}" echo "commit: ${commit}" #同步代码到发布目录 #to do #备份版本git commit echo ${commit}>/home/wos/test2/${version}.txt ;; Rollback_Pre) echo "branch: ${branch}" echo "version: ${version}" echo "commit: ${commit}" #同步代码到发布目录 #to do ;; Rollback_Real) echo "branch: ${branch}" echo "version: ${version}" echo "commit: ${commit}" #同步代码到发布目录 #to do ;; *) exit ;; esac
2、进行回滚
case $deploy_evn in Rollback_Pre) url="$pre_version" ;; Rollback_Real) url="$real_version" ;; *) exit ;; esac model="$deploy_evn" projectName=`echo "$url"|awk -F '/' '{print $6}'` rollbackID=`echo "$url"|awk -F '/' '{print $7}'` #获取回滚GIT_COMMIT commit=$(cat /home/wos/test2/${rollbackID}.txt) #进入备份目录 cd /home/wos/test3/WOS_Portal/ #下载最新代码 git clone http://username:password@git.wondershare.cn/CPStudio/WOS_Portal.git #本地回滚代码 git reset --hard ${commit} #回滚代码到WEB服务器 /bin/sh /usr/local/rsync/portal/portal.sh $model $rollbackID
通过GIT_COMMIT进行代码回滚的更多相关文章
- git代码回滚:Reset、Checkout、Revert的选择
代码回滚:Reset.Checkout.Revert的选择 Zhongyi Tong edited this page on Dec 8, 2015 · 5 revisions Pages 19 Ho ...
- svn代码回滚命令
代码回滚提交: 比如要把73回滚到68 svn merge -r 73:68 http://my.repository.com/my/project/trunk 然后commit就行了 svn com ...
- 代码回滚:Reset、Checkout、Revert的选择
代码回滚:Reset.Checkout.Revert的选择 Git仓库有三个主要组成——工作目录,缓存区和提交历史. 从图中我们可以看出,缓存区或者叫索引,其实是指一整套即将被下一个提交的文件集合.也 ...
- gitlab一次代码回滚引起的bug...
问题描述:线上问题有一个bug,挺严重的.在线下排查后发现是一个之前的同事添加的代码影响的,为了不影响之前的业务,代码回滚了. 但是 过了几天,测人人员测试之后说这个问题又复现了,然后再次看,发现还是 ...
- 6.Git代码回滚
1.代码修改并提交 我们已经成功地添加并提交了一个helloWorld.txt文件,现在,是时候继续工作了. 于是,我们继续修改helloWorld.txt文件,改成如下内容: $ vi helloW ...
- 利用PyCharm操作Github:仓库新建、更新,代码回滚
Github是目前世界上最流行的代码存储和分享平台,而PyCharm是Python圈中最流行的IDE,它很好地支持了Git操作.本文将会介绍如何利用PyCharm来连接Github,同时演示Git ...
- gitlab基础命令之代码回滚
#:gitlab状态 root@ubuntu:~# gitlab-ctl status run: alertmanager: (pid 13305) 215965s; run: log: (pid 1 ...
- SVN代码回滚
取消对代码的修改分为两种情况: 第一种情况:改动没有被提交(commit). 这种情况下,使用svn revert就能取消之前的修改. svn revert用法如下: # svn revert [ ...
- SVN代码回滚命令之---merge的使用
一.改动还没被提交的情况(未commit) 这种情况下,见有的人的做法是删除work copy中文件,然后重新update,恩,这种做法达到了目的,但不优雅,因为这种事没必要麻烦服务端. 其实一个命令 ...
随机推荐
- Spring框架知识整理
Spring框架主要构成 Spring框架主要有7个模块: 1.Spring AOP:面向切面编程思想,同时也提供了事务管理. 2.Spring ORM:提供了对Hibernate.myBatis的支 ...
- HBuilderX——编译失败:HBuilderX 安装目录不能包括 ( 等特殊字符
前言 编译小程序的时候报错,原因其实很简单,安装目录的问题! 解决 我安装到了D:\Program Files (x86),放到D盘的根目录下或者D:\Program Files只要不包含一些特殊字符 ...
- OpenCV和selenum实现点击操作
import cv2 as cv import numpy as np from PIL import Image, ImageDraw, ImageFont import os from selen ...
- vscode常用插件
vscode写JS/html/css是比较适合的,因为轻量级. 只是需要一些插件来完善VSCODE功能,感觉VSCODE就是要靠插件的,不然的话,只是一个高级的代码编辑器.可能比editplus&qu ...
- java第一课 面向对象的编程概念
一.什么是对象(object)? 对象是相关状态和行为的软件包. 1.现实社会的对象都有两个共同特征:状态和行为.如:狗有状态(名称,颜色,品种,饥饿)和行为(吠叫,取出,摇尾). 2.软件对象在概念 ...
- Neo4j使用
一.删除图 在开发过程中,很多时候需要快(简)速(单)清(粗)除(暴)Neo4j中存在的海量数据节点和关系数据 在这种情况下,delete和detach从性能上都已力不从心.Neo4j官方推荐清库方法 ...
- node服务端口被占用Error listen EADDRINUSE :::3000
Error: listen EADDRINUSE: address already in use :::3000,出现这个报错说明3000端口被占用 解决方法:找到占用该端口的程序,kill杀掉它就可 ...
- vue的计算属性与方法的不同
计算属性 vue的模板里可以使用表达式,但是它的设计初衷是用于简单计算,在模板中放入太多逻辑会让模板过重且难以维护.例如: <div id="example"> {{ ...
- (二)初探Maven之设置代理和阿里云镜像
引言: 在许多公司,可能因为安全性的要求配置了代理服务器,用户无法直接访问外网,所以在项目中使用Maven必须设置好代理才能下载依赖. 并且直接从中央仓库下载依 ...
- tomcat配置及环境搭建
步骤一 下载tomcat 下载tomcat并安装,登陆tomcat官网,http://tomcat.apache.org/,Windows系统建议选择Windows Service Installer ...