iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 29
2
Everything on Azure

三十天.NET❤️Azure漸進式開發專案系列 第 29

三十天.NET與Azure漸進式開發專案(29): 在Azure DevOps從無到有建立CI/CD專案

延續前篇文章,接著從無到有在 Azure DevOps 建立 CI/CD 專案,讓自己更清楚操作方式,並且更細緻化處理想要的設定。

另外補充一個概念,在 Azure DevOps 中 CI 使用 Pipelines Build 功能,CD 使用 Pipelines Release 功能。

建立專案

⬇ 在AzureDevOps建立Project
2018-11-16.14.37.17-image.png

⬇ 模擬正式生產環境選擇 Private 專案
2018-11-16.14.38.01-image.png

⬇ 接著 Clone Git 專案到電腦,我簡單寫一個.NET Core網頁小程式跟鐵人賽說你好~
2018-11-16.14.39.23-image.png

    public class Startup
    {
        public void Configure(IApplicationBuilder app) => app.Run(async (context) =>{
            await context.Response.WriteAsync("IT鐵人賽,你好!!");
        });
    }

並且在 Azure 建立一個新的 .NET Core Web App 專案
2018-11-16.14.44.05-image.png
2018-11-16.14.44.57-image.png

將專案內容 commit and push 到 Azure DevOps Repos 版控
2018-11-16.14.51.35-image.png
2018-11-16.14.52.16-image.png


建立CI步驟:

⬇ 點擊 Use the visual designer 不用 YAML ,要使用哪個習慣問題,讀者可以自己選擇。
2018-11-16.14.52.52-image.png
2018-11-16.14.53.09-image.png

⬇ 選擇Git平台,這邊選擇 Azure Repos Git
2018-11-16.14.55.59-image.png

⬇ 選擇自己網頁專案對應的範本,我這邊使用 ASP.NET Core (.NET Framework) 建立
2018-11-16.14.56.40-image.png

⬇ 選擇你想要的CI邏輯,我使用基本功能:NuGet、Build、Test、Publish。特別注意一點,這邊需要Publish Artifact負責跟CD做串接,假如只要CI可以去掉。

另外之後CI運行的邏輯也會照這順序由上而下運行。
2018-11-16.14.58.13-image.png

⬇ 假如想要每次Git有更新要跑一次CI/CD,需要建立一個Trigger 允許 Enable continuous integrationBatch changes while a build is in progress
2018-11-16.15.44.17-image.png

假如覺得功能不夠可以自行添加task
2018-11-16.15.03.28-image.png

⬇ 保存記得選擇Save不要Save&Queue,因為還沒有建立Release-CD,現在運行在Publish那一關會失敗。
2018-11-16.15.04.16-image.png
2018-11-16.15.05.22-image.png


建立CD步驟

⬇ 點擊 Releases > New Pipeline
2018-11-16.15.06.51-image.png

⬇ 搜尋Azure App Service deployment > Apply 應用
2018-11-16.15.08.09-image.png

點擊新建的stage task,選擇對應 Azure帳號 > 授權給Azure DevOps > 選擇剛剛建立好的WebApp
2018-11-16.15.09.12-image.png
2018-11-16.15.11.23-image.png

⬇ 點擊 Add Arifacts 選擇剛剛建立的CI
2018-11-16.15.13.06-image.png

2018-11-16.15.13.36-image.png

⬇ 接著點擊 閃電圖案 > 准許 每次CI結束後建立一個新的CD
2018-11-16.15.14.51-image.png
2018-11-16.15.15.06-image.png


最後修改本基程式內容 commit push 到 DevOps Repos 看CI/CD有沒有正確運行
2018-11-16.15.17.36-image.png

可以看到Azure DevOps照我們設定的邏輯跑CI跟CD邏輯
2018-11-16.15.21.15-image.png
2018-11-16.15.24.39-image.png

等CD跑完後查看網頁可以看到 Azure DevOps 幫忙更新網頁內容
2018-11-16.15.37.56-image.png

2018-11-16.15.49.56-image.png

補充:

  • 假如要刪除不要用的CI/CD,記得先刪除CD再刪除CI。
  • 變動使用版控紀錄,可以在History查詢:
    2018-11-04.03.34.14-image.png

上一篇
三十天.NET與Azure漸進式開發專案(28): DevOps Project 建立使用、示範專案CI/CD
下一篇
三十天.NET與Azure漸進式開發專案(30): 完賽,下台一鞠躬
系列文
三十天.NET❤️Azure漸進式開發專案30

尚未有邦友留言

立即登入留言