iT邦幫忙

2023 iThome 鐵人賽

DAY 25
0
DevOps

Azure DevOps Troubleshooting and best practices 系列 第 25

Azure Pipeline 危機處理 - 使用者不能不知道 Roll back 操作

  • 分享至 

  • xImage
  •  

前言

其實組織在使用 Build Pipeline 與 Release Pipeline 進行維運階段初期,個人會建議要讓團隊成員練習回復至上一個版本。這是 Pipeline 必須具備的功能,在 Azure DevOps 內操作也不太困難,但在事故情境下,經驗不足的同仁一定會緊張與遲疑。平時的練習在事故發生同時才能得心應手。

此外,也相當推薦團隊建立災害復原計畫或恢復標準作業程序文件,除了在事故階段降低人為錯誤機率,也能作為教育訓練文件,提供新人完善的流程

 
 

Build Pipeline Roll Back

可能會有讀者詢問說 Build Pipeline 會產出有 Artifact 並進行保留,我們可以透過 Release Pipeline 前一次 Release 即可達到效果,為什麼要知道 Build Pipeline 如何恢復? 其主要原因如下:

  1. 部分軟體編譯流程可能不需要 Release Pipeline,如:手機應用程式 (iOS/Android) 產出相對應的包裝檔案後,即以簡易方式發布此包裝檔
  2. 雖然建議 CI 使用 Build Pipeline、CD 使用 Release Pipeline,在管理上比較能夠一目了然。但仍有情境可能將CI/CD流程只放置其中之一

 

Pipeline Rollback 方式是點選上一次 CI 成功紀錄,點選 Run new,即會有上次的參數執行。唯一要注意的事情是如果分支內容可能會使用最新版本。

https://ithelp.ithome.com.tw/upload/images/20231009/20091494nBWvY7qamn.png

https://ithelp.ithome.com.tw/upload/images/20231009/20091494ZQDNem1uGG.png

 

如果要完整使用過去紀錄,記得調整選擇 Commit,並輸入 Commit ID 即可完整執行 Roll back 過去的 CI。
https://ithelp.ithome.com.tw/upload/images/20231010/20091494JhUReC5Qda.png

 
 

Release Pipeline Roll Back

Release Pipeline 在過去很久之前的傳統介面才會有回到上一個版本的設定,在新版 Release Pipeline 每一次部署需要建立一個新的 Release。因此,使用者可以找到上一個 Release,選擇需要的 Stage 進行 Roll Back 即可。

https://ithelp.ithome.com.tw/upload/images/20231009/20091494jDbXx303Sy.png
 

 
 

Retention 設定

另一個關於 Roll Back 重要的設定即是保留其的設定。理所當然,保留份數越多,保留時間越長,可能用的版本越多,但可以謹慎考量過長時間的保留是否價值,如: 一年以上多次部署的保留可能已經沒有參考價值,因為已經差異太多。

Release Pipeline 可以在編輯畫面中,找到 Retention 畫面上選擇保留設定
https://ithelp.ithome.com.tw/upload/images/20231009/20091494IRe5EhRdTx.png

如果你想要設定 Build Pipeline,可以在 Project Setting > Pipelines > Settings 內找到相關設定

https://ithelp.ithome.com.tw/upload/images/20231009/20091494b4gU4Ruchu.png


上一篇
Azure Artifacts – 以 nuget 為例的實作
下一篇
Azure Pipeline - 代理程式日常維護工作
系列文
Azure DevOps Troubleshooting and best practices 30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言