天天看點

Azure DevOps(二):持續部署

Azure DevOps(二):持續部署

    • 建立Release Pipeline
    • 添加工件
    • 設定Stages
    • 添加部署任務

在上一篇文章中主要講了Azure DevOps的CI部分,也就是持續內建的部分。Azure DevOps CI/CD(一):初步

是以在本篇文章中将主要講一下在

Azure DevOps

中如何進行持續部署。

那麼我們就直接進入正題了。

建立Release Pipeline

跟持續內建(CI)類似,我們要先建立一個釋出管道來執行一系列的部署操作,這時候要在左邊欄Pipelines中選擇Releases頁籤。

Azure DevOps(二):持續部署

上圖因為我已經建立了一個釋出管道是以我這裡多了一個清單,如果還沒建立任何的釋出管道在頁面中間會有一個建立按鈕點選建立就可以了。

當我們點選建立後将會出現下面的頁面。右邊有很多已經預設好的部署環境,nodejs,docker,k8s等等都有,不過我個人一般很少用預設的,因為一般需要都很難完全符合,是以還不如自己建立一個。

Azure DevOps(二):持續部署

輸入一個名字,随便都可以這裡我就先設為

releaseTest

了。輸完可以點選一下上面的儲存,儲存一下更改。

Azure DevOps(二):持續部署

添加工件

下面就是添加工件的操作了,我們需要先為我們的釋出管道添加工件,這個工件可以了解為需要釋出部署的檔案集。那麼問題來了,這個待釋出部署的檔案集從哪來呢?

這個工件就是從我們的建構管道也就是第一篇文章所介紹的持續內建(CI)的管道來的,那麼在這裡要打個岔,我們想要拿到釋出工件,那麼就需要在建構管道中告訴

Azure DevOps

哪些是需要釋出部署的,回到上一篇文章的

azure-pipelines.yml

檔案,我們需要添加下圖這個task來把需要的檔案推到釋出管道中。

Azure DevOps(二):持續部署

下圖是這個task在

azure-pipelines.yml

檔案中的代碼形式,我們注意到一個用

$(Build.ArtifactStagingDirectory)

這個東西,這個是

Azure DevOps

中預定義的路徑,在CI建構管道中所有的打包,釋出,分發的預設路徑就是這個路徑。下面這個task的意思是說把

$(Build.ArtifactStagingDirectory)

檔案夾裡面的東西推到釋出管道作為工件。

Azure DevOps(二):持續部署

好了,我們對上一篇文章建構管道的修改補充就到這裡了。讓我們回到正題。

點選左邊的藍色框框就可以添加工件了。

Azure DevOps(二):持續部署

點選後在右側會有個彈窗,這裡的建構管道的源我們就選項目的建構管道就好了,點選下拉菜單選擇就可以了。

選擇好後點選下面的Add按鈕添加

Azure DevOps(二):持續部署

然後回來看到已經添加好了。

這裡我們點選工件右上角的圓形閃電圖示,設定觸發器。

Azure DevOps(二):持續部署

點選後右側也會有個彈窗設定,這裡有兩個觸發器,第一個是否啟用持續內建(CD),第二個則是在提PR時也觸發部署。

一般都是選擇的第一個開啟持續內建(CD),并且開啟持續內建後我們還可以針對項目倉庫的分支和Tag來進行過濾。

Azure DevOps(二):持續部署
Azure DevOps(二):持續部署

設定Stages

添加完工件後我們還需要設定

Stages

Stage

可以了解為執行部署的階段,一個階段可以有下一個階段,或者兩個階段同級,我們可以看到工件跟Stage之間有一根線連着,從左到右看可以看作是一個部署的工作流。

Azure DevOps(二):持續部署

點選Stage左邊的小人和閃電的圖示後右邊會有設定彈窗,就是設定這個部署條件的。

觸發器有自動和手動,選擇手動的話每次CI建構管道完成後需要手動點選部署來觸發部署,當選擇手動後Stage和工件或者上一個Stage的連線會斷開來訓示工作流方向。而自動部署有工件過濾,計劃,等等的可以設定。

Azure DevOps(二):持續部署

還有一個就是我們可以設定需要授權部署,開啟

Pre-deployment approvals

後就可以選擇授權人和過期時間,當釋出管道工作流進入到了這個Stage時會發送一封郵件到授權人的郵箱,授權人可以直接在郵箱中點選同意然後釋出管道就會繼續沿着工作流繼續執行。

Azure DevOps(二):持續部署

添加部署任務

上面都是在添加工件,設定Stage工作流條件等,還沒正真配置執行部署。那麼現在我們就關注如何配置部署,使我們的工件正真的釋出部署到目标伺服器上。

Azure DevOps(二):持續部署

點選上圖

releaseTest

下面的job和task後打開新的界面選擇需要的task,這跟建構管道是一樣的。

Azure DevOps(二):持續部署

作為例子我這裡就選擇

.Net Core

的Task,然後選擇dotnet push來釋出nuget包。

這裡我們可以看到設定

Path to NuGet packages to publish

這裡,右邊有三個點的圖示,點選該圖示會彈出一個類似檔案浏覽器的視窗,我們可以在這個檔案夾浏覽器視窗選擇我們在建構管道推送到工件裡面的檔案。配置完成後點選

Add

添加該Task。

還可以添加多個Task,例如有些情況可能打包出來的是壓縮包,那麼我們可以首先添加一個解壓功能的Task,然後下面再根據自己需要在解壓功能的Task後面添加

SSH

,

FTP

,

...

或者其他的Task來配合完成部署。

檔案浏覽器這個功能都不限于

.Net Core

的Task。任何其他的

java

docker

nodejs

Task等等都是可以通過這種圖形化的檔案浏覽器來選擇需要釋出部署的檔案。

Azure DevOps(二):持續部署
Azure DevOps(二):持續部署

當所有的都配置完成後記得點選上面的儲存哦。這樣配置完成後當我們的送出代碼時就會自動建立一個釋出管道,如果釋出管道是自動運作的那麼就會自動部署了,如果是配置的手動部署那麼隻需要我們來到釋出管道頁面手動點選一下部署按鈕就可以執行部署了。

儲存哦。這樣配置完成後當我們的送出代碼時就會自動建立一個釋出管道,如果釋出管道是自動運作的那麼就會自動部署了,如果是配置的手動部署那麼隻需要我們來到釋出管道頁面手動點選一下部署按鈕就可以執行部署了。

個人公衆号,歡迎關注。天天更新是不可能的,這輩子都不可能天天更新。隻有心情好的時候更新一下這樣子才維持的了生活。

Azure DevOps(二):持續部署

繼續閱讀