如何将Outgoing Webhook部署到中国版Azure
在這篇文章中,我們主要來如何將Azure DevOps中的項目作為應(yīng)用發(fā)布到中國版Azure的App Service中。
什么是Azure DevOps
Azure DevOps, 原名為VSTS, 全稱是Visual Studio Team System,是由微軟開發(fā)的一套具有高生產(chǎn)力、高集成性、可擴展的生命周期開發(fā)工具,免費,無限個數(shù)的私有repo,GitHub的public repo是無限的,但是私有repo要收費
Azure App Service
- Azure App Service的優(yōu)點
- 讓開發(fā)人員更容易在Azure上構(gòu)建可擴展的Web和移動應(yīng)用程序后端
- 讓開發(fā)人員更容易在Azure上組合服務(wù)
- 讓開發(fā)人員更容易將Azure應(yīng)用程序與記錄系統(tǒng)整合起來
- 降低了運行應(yīng)用程序后端的成本
部署步驟
- 1、在Azure DevOps中新建Repo, 本地Clone,Push代碼
- 2、在Azure DevOps中并編譯生成一個 .NET Core應(yīng)用, 配置持續(xù)集成環(huán)境
- 3、將Azure添加到Azure DevOps的Service Endpoint(僅限中國區(qū)的Azure)
- 4、在Azure中創(chuàng)建App Service
- 5、配置Azure DevOps中構(gòu)建的應(yīng)用Release到Azure App Service
必備條件:
1、Azure訂閱
2、Azure DevOps環(huán)境
3、Git?
4、Visual Studio 2017 or Visual Studio Code
一、在VSTS中新建Repo, 本地Clone,Push代碼
1、在VSTS中新建git代碼倉庫?
創(chuàng)建完成,得到git的orgin地址
在本地新建文件夾,git獲取代碼路徑
c:\Microsoft Teams> mkdir CITest c:\Microsoft Teams> git clone https://qiuyuhua.visualstudio.com/CITest/_git/CITest安裝dotnet的模板
c:\Microsoft Teams> dotnet new -i MicrosoftTeams.Templates2、根據(jù)git的項目地址,上傳我們的項目文件代碼
二、在Azure DevOps中并編譯生成一個 .NET Core應(yīng)用, 配置持續(xù)集成環(huán)境
1、在Azure DevOps中,導(dǎo)航到“Code”下的的 “文件” 選項卡,然后單擊“設(shè)置生成”
2、選擇代碼源, 這里選中?VSTS Git, 點擊Continue
3、選擇Build的模板, 搜索框中輸入?Core,點擊選中 ASP.NET Core, 然后點擊Apply
現(xiàn)在,可以看到所有由模板自動添加到構(gòu)建管道中的任務(wù)。這些是每當我們推代碼更改時自動運行的Build任務(wù), 這里我們進行Build的相關(guān)配置
4、配置代理隊列:
Azure DevOps: 設(shè)置Build的名稱,選擇Hosted VS2017. 這就是如何使用我們的代理池來構(gòu)建應(yīng)用程序所需的軟件。
依次對Restore、Build、Test、Publish,進行響應(yīng)的配置
5、點擊Triggers Tab頁在生成管道中.勾選 Enable the Continuous Integration trigger.?
這將確保每次提交到存儲庫的更改時自動觸發(fā)生成過程
6、點擊?Save & queue?開始進行一個build
我們在頁面上,可以看到剛剛配置的Build已經(jīng)啟動,并且在進行相關(guān)環(huán)境的初始化
整個Build構(gòu)建完成時,我們會收到一封通知郵件
7、?Save & queue?開始進行一個build
查看Build的總體情況
生成完成,選擇生成號以查看生成的簡要信息
下載Artifact,查看剛剛Build完成,Publish后的文件
可以看到和我們在本地進行Publish操作,生成的文件是一樣的,以上就是在Azure DevOps中構(gòu)建Build的一個完整過程。
三、將Azure添加到Azure DevOps的Service Endpoint
1、把中國區(qū)的Azure添加到 Azure DevOps的 Service Endpoint
這個是使用 Azure DevOps 自動部署到中國區(qū)Azure的前置條件。Service Endpoint是以項目為單位進行配置的
點擊?設(shè)置?按鈕 -> 選擇 Service -> 點擊左側(cè) New service connection -> 選中點擊 Azure Resource Manager -> 彈出框點擊最最下方的 “use the full version of the service connection dialog”
這里關(guān)鍵的幾個信息填寫:
- Connection name (可以自由填寫)
- Enviroment (選擇: AzureChinaColud)
- Subscription ID (Azure的訂閱ID)
- Subscription name (Azure的訂閱名稱)
- Service principal client ID (重點: 下文會說到)
- Service principal key (重點: 下文會說到)
- Tenant ID (Azure Active Directory -> 屬性 -> 目錄Id)
2、配置Service principal client ID和Service principal key
打開http://portal.azure.cn -> 選擇左側(cè) Azure Active Directory -> 到 用戶設(shè)置 -> 確保應(yīng)用注冊狀態(tài)時可用狀態(tài)
然后點擊 應(yīng)用注冊 -> 新應(yīng)用程序注冊
然后打開 屬性 -> 修改應(yīng)用程序的ID URI 規(guī)則
接著,打開密鑰 -> 添加密鑰
點擊左側(cè)菜單 成本管理+計費 -> 訂閱 -> 選擇對應(yīng)的訂閱。然后點擊 訪問控制(標識和訪問管理)添加權(quán)限,給咱們剛剛創(chuàng)建的應(yīng)用程序添加 參與者 權(quán)限
這里回到上文中,Azure Resource Manager的配置,填寫上文設(shè)置的Service principal client ID和Service principal key
配置完成后,點擊?Verify connection, 驗證配置是否成功
四、在Azure中創(chuàng)建App Service
1、選擇左側(cè)導(dǎo)航欄?應(yīng)用程序服務(wù), 點擊```添加`` 新建 應(yīng)用程序服務(wù)
2、選擇?Web應(yīng)用, 點擊?創(chuàng)建
3、輸入應(yīng)用程序名稱,完成創(chuàng)建
4、回到應(yīng)用程序列表,看到剛剛新建的App Service,已經(jīng)初始化成功,并且處于Running的狀態(tài)
5、打開訪問地址,出現(xiàn)下圖,說明應(yīng)用是創(chuàng)建成功的
五、配置Azure DevOps中構(gòu)建的應(yīng)用Release到Azure App Service
首先,導(dǎo)航到Release頁面,新建一個Release Pipeline
選擇Release的模板,這里選擇Azure App Service deployment, 點擊Apply
添加Artifact, 選中之前定義的Build名稱,可以進行別名命名
配置deployment trigger, 目的是當關(guān)聯(lián)的Build生成成功后,會自動發(fā)布到我們的App Service上
配置Deploy Azure App Service, 找到App Service Url, 填入新建的Azure服務(wù)名稱
當我們的Build被觸發(fā)時,且成功執(zhí)行完成后,可以看到配置好的Release已經(jīng)啟動
直到Release完成, 此時已經(jīng)將應(yīng)用發(fā)布到了Azure
回到Miecrosoft Teams中,將Outgoing Webhook的地址修改為Azure App Service的地址
修改完成后,我們@機器人,看看消息的響應(yīng)
參考文檔
- 1、Build your ASP.NET 4 app
- 2、Deploy a web app to Azure App Services
- 3、Create an Azure service connection
- 4、Troubleshoot Azure Resource Manager service connections
- 5、中國區(qū)的Azure添加到 Azure DevOps 的 Service Endpoint
總結(jié)
以上是生活随笔為你收集整理的如何将Outgoing Webhook部署到中国版Azure的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: J-link固件修复记录
- 下一篇: 『树形DP·换根法』Accumulati