iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 13
1
Cloud Native

從零開始建立自動化發佈的流水線系列 第 13

13. 持續整合 - Azure Pipelines of Azure DevOps

  • 分享至 

  • xImage
  •  

最新內容已更新至 Blog: 使用 Jenkins/Azure Pipeline 進行持續整合

Eric: 前面花了很長的時間,說明 Jenkins 設定與支援 GitHub、BitBucket、Azure DevOps 等 Git Repository。接下來,來聊聊 Azure DevOps 當中的 PipeLines。

吉米: PipeLines?

Eric: Microsoft 將,原本 VSTS 當中,所有與 CI/CD 相關功能,統整於 Azure PipeLines。

吉米: 了解。

Eric: 我們先來聊聊 Azure PipeLines 對自家產品 Azure Repositories 的支援與設定。


1. Azure PipeLines 的建立

index

選取 Pipelines 的 Builds 後,會看到工作清單。但因為目前沒有任何資料,所以直接進入建立 pipeline 的容量。

Build_list

選擇 Azure Repository 後,如果該 Repository 內有資料,會列出 Repository 清單。

圖片20181028_222438

如果選取的 Repository 內己經有資料,Azure Pipeline 會自動分析,並建立 yml

yml_auto_analysis

2. azure-pipelines.yml

我們來看一下,Azure pipelines 自動建立出來的 yml 內容。

pool:
  vmImage: 'VS2017-Win2016'

variables:
  solution: '**/*.sln'
  buildPlatform: 'Any CPU'
  buildConfiguration: 'Release'

steps:
- task: NuGetToolInstaller@0

- task: NuGetCommand@2
  inputs:
    restoreSolution: '$(solution)'

- task: VSBuild@1
  inputs:
    solution: '$(solution)'
    platform: '$(buildPlatform)'
    configuration: '$(buildConfiguration)'

- task: VSTest@2
  inputs:
    platform: '$(buildPlatform)'
    configuration: '$(buildConfiguration)'

azure-pipelines.yml 的內容,其實還滿容易理解的。

  • pool 所使用的測試環境
  • varibale 宣告 task 內的所使用的變數
  • steps 真正進行動作用的地方,在 azure pipeline 內,將各個動作都視為 task

Azure pipeline 動作時, 會依序執行 task,只要其中一個 task 失敗,就會直接中斷動作。並回報結果為失敗。

3. Azure pipeline 執行畫面

當 Repository 的程式碼有異動時,Azure Pipeline 就會依剛剛 azure-pipelines.yml 的指示,進行動作。

下面的圖為 Azure Pipelines 執行中的畫面。

Azure_pipelines_result


Eric: 接下來,我們來聊聊 YAML 這個標註語言。


延伸閱讀

  1. Azure DevOps Features Timeline
  2. YAML schema reference

上一篇
12. 持續整合 - Jenkins on Azure(下)
下一篇
14. 延伸補充 - YAML
系列文
從零開始建立自動化發佈的流水線30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言