1. 程式人生 > >Jenkins部署失敗後快速回滾到指定版本

Jenkins部署失敗後快速回滾到指定版本

   jenkins部署過程中,有時會遇到構建後項目啟動失敗的情況,如果情況緊急那就要快速回滾程式碼,手動回滾是相當的麻煩。可以用Jenkins結合Shell指令碼來完成一鍵回滾操作。

  • 新建一個maven工程
  • 設定歷史版本的構建包個數,方便本次構建失敗後能回滾回去

  • 設定構建化引數

  • 設定原始碼管理

  • 設定Shell指令碼

case $deploy_env in
deploy)
     echo "deploy $deploy_env"
     mvn clean install -Dmaven.test.skip=true -Pqatest
     ;;
rollback)
     echo "rollback $deploy_env  version=$version"
     rm -rf cost-main-web/target/
     cp -R ${JENKINS_HOME}/jobs/costmain/builds/${version}/archive/cost-main-web/target  ./cost-main-web
     pwd && ls
     ;;
   *)
   exit
   ;;
esac
  • 構建後操作

相關推薦

Jenkins部署失敗快速指定版本

   jenkins部署過程中,有時會遇到構建後項目啟動失敗的情況,如果情況緊急那就要快速回滾程式碼,手動回滾

mysql誤刪資料快速

binlog2sql快速回滾 首先,確認你的MySQL server開啟了binlog,設定了以下引數: [mysqld] server-id = 1 log_bin = /var/log/mysql/mysql-bin.log max_binlog_size = 1000M binlog-

持續整合之Jenkins結合指令碼實現程式碼自動化部署及一鍵至上一版本

一:本文通過jenkins呼叫shell指令碼的的方式完成從Git伺服器獲取程式碼、打包、部署到web伺服器、將web伺服器從負載均衡器刪除、解壓、複製配置檔案、建立軟連線、測試每一臺web伺服器、將web伺服器新增至負載均衡、回滾到任意指定版本、一鍵回滾到上一版本等功能,指令碼放在www使用者家目錄並使用w

github快速發送代碼與快速腳本實現

github快速發送代碼與快速回滾腳本實現創建一個commit褲先:1、[[email protected] cml]# echo "check github" > index.html [[email protected] cml]# cat index.html check gi

基於ceph快照快速openstack上的虛擬機

ecc ble int tty key var Opens -a keyword 查看虛擬機ID 1 2 [root@node1 ~]# nova list --all | grep wyl | dc828fed-1c4f-4e5d-ae84-795a0e71eec

不小心merge操作

revert pre 合並 ima ash span font current 內容 雖然有四個方法,但我們項目中使用方法一和二比較合適,不會產生新的commit,並且簡單粗暴 方法一,新分支覆蓋 ①首先兩步保證當前工作區是幹凈的,並且和遠程分支代碼一致方法一,刪除遠程分支

shell腳本實現git快速提交代碼與快速

compress bre 添加 -- ech cas -s total 100% shell腳本實現git快速提交代碼與快速回滾 創建一個commit庫: [root@centos-3 cml]# echo "check github" > index.html [

SQL事務設定SET XACT_ABORT正確

SET XACT_ABORT { ON | OFF } 當 SET XACT_ABORT 為 ON 時,如果 Transact-SQL 語句產生執行時錯誤,整個事務將終止並回滾。為 OFF 時,只回滾產生錯誤的 Transact-SQL 語句,而事務將繼續進行

Spring註解宣告的事務@Transaction出現異常沒有

今天用spring+hibernate做專案的時候,測試事務是否起作用的時候, 發現了一個問題,我在service層,同時更新兩張表。 第一張表的dao層更新方法正常更新, 第二張表的dao層故意讓其拋異常。 程式碼如下: service層: @Transaction p

SQL Server執行指令碼怎麼

SQL Server伺服器,一直處於所謂的自動提交模式,而且這種模式是預設的。由於操作資料庫批量修改資料出錯的話,修復資料是相當的痛苦,如果沒有備份的情況下,那有可能就是滅頂之災了。---該命令關閉SQL Server的自動提交模式   SET IMPLICIT_TRANSA

基於ceph快照快速openstack上的虛擬機器

作者:吳業亮 ceph的基本的特性之一,就是支援rbd的snapshot和clone功能。Ceph都可以完成秒級別的快照,其實現的基本原理是基於物件COW(copy-on-write)機制。 檢視虛擬機器ID [[email prot

jenkins 部署 spring boot 至遠端服務指定目錄

安裝jenkins https://jenkins.io/zh/doc/ 配置外掛許可權 Manage Jenkins->C

Git遠端版本

“房子是租的 但生活不是” 1.故事的開始 遠端master分支下程式碼被不小心提交了很多垃圾程式碼或專案刪掉,想要回滾到以前的某一版本並刪除commit log。怎麼辦?情景如圖: 情景很簡單。老闆上傳了個檔案,我把他刪掉了。有一種辦法,把檔案再push下,但是也不想他

MaciTunes版本

1. 關閉SIP,即System Integrity Protection 參考這篇文章: https://www.howtogeek.com/230424/how-to-disable-system-integrity-protection-on-a-mac-and-wh

Jenkins構建完成自動部署指定伺服器(二)

來源:https://www.cnblogs.com/xiao-fy/p/7532139.html 主要分為兩步: 1、傳送Jenkins構建好的war包到指定伺服器 2、執行部署指令碼 這裡是通過使用  publish over ssh 外掛。 外掛管理中搜索publ

fabric 快速部署,,打包,上傳

#!/usr/bin/env python #--coding:utf8-- ''' http://www.cnblogs.com/onlyfu/p/4926351.html ''' from fabric.api import * from fabric.colors i

Jenkins構建完成自動部署指定伺服器

主要分為兩步: 1、傳送Jenkins構建好的war包到指定伺服器 2、執行部署指令碼 這裡是通過使用  publish over ssh 外掛。 外掛管理中搜索publish over ssh 安裝,完成後系統設定中就可以看到相關設定項了。 Jenkins伺服器上

jenkins+svn+rsync+php_一鍵自動化部署可持續化整合伺服器叢集專案_支援

此文的方案支援回滾,支援回滾,支援回滾,重要的事情說三遍!前言:此文的解決方案,只能解決釋放運維一半的工作量,為何一半?因為需要部署程式碼的伺服器叢集,都事先安裝配置好專案執行所需的環境,例如java專案需要tomcat,php專案需要nginx+php-fpm等。如果問有沒

TortoiseSVN到歷史版本並用Jenkins部署

       因為用Jenkins部署了web專案,測試不足出現了問題,然後需要回滾重新部署到之前的版本,但是程式碼改了那麼多,怎麼辦呢? 答案是:將一個版本達成tag,然後commit,然後在jen

Asp.net Core 使用Jenkins + Dockor 實現持續集成、自動化部署(四):發布與

截圖 begin 更強 else https 分發 集成測試 block 執行 寫在前面 我們以前windows跑.net Framework程序的時候,發布,自己乖乖的替換程序;備份,也是自己一個一個的重命名備份;回滾,發布遇到問題的回滾更是不用說了;運維很是怕我們 這