Azure DevOps-Conception

Jane
Jan 18, 2021

--

身為一位工程師就是要能終身自我學習

Sometimes也會被公司強制學習某些東西….

任職的公司re-org做出許多新改革

也因應科技業對於SaaS(Software as a Subscription)大環境的趨勢

在研發與測試上發展了許多新Team

雖然才開始作為開發測試工程師工作半年

也不小心成為被轉移的一位成員@_@

進入了新Team 從前的框架就得拋諸腦後XD

來迎接新框架與流程

因此….

要來自學如何在Azure DevOps中撰寫自己的Test Case做到CI/CD

接下來就會有一連串的Azure DevOps學習筆記…

首先呢!

工欲善其事 必先利其器

Azure是Microsoft Online Services的一部分

可以把它想像成AWS一樣的雲端託管服務中心

可用於分析、虛擬伺服器計算、儲存和網路

它可以用於替換或補充您的本地伺服器資源

最重要的是這種雲服務是用多少付多少 (Pay-As-You-Go)的概念

Costdown~~~~

Azure DevOps主要會使用到上圖的這些工具~~~

這邊主要會以Piplines建置VM這塊來做介紹

一開始先介紹一下Azure Devops主要的Service

Artifacts, Library, Pipelines, Release, Task Group, Agent Pool, Deployment Group, Test Runs

Azure DevOps Component

Artifacts

整個CI/CD的流程主要是由Artifacts觸發

可以做到package management

如果Artifacts上的package有任何變動的時候

就會觸發一個Pipelines測式或是一個Release

用這樣的方法控制一條Pipelines要不要啟動

Artifacts可以幫Package上Tags: Local>PreRelease>Release

利用Tags來漸進式的做測試

Pipelines

有用過舊版本Ui的人應該有發現

Azure pipelines下的Build被改成pipelines

pipelines主要是幫你Build package

而Release則是做其他的測試 例如:unit test

Setting from the Releases page

以執行單位來說由大到小一個Pipelines裡面包含

Stage>Job(agent-side)>Steps>Task(ex:run script, PowerShell)

以流程面來說當一個Pipelines被啟用後

Pipelines job就會去Azure agent pool找所有的agent run jobs

而agent的狀態會由get ready>run job裡的每個step

並將其結果回傳

每個ReleaseStage都可以設定approval 讓某些重要的人確認可以進到下個階段

另一個隸屬於Release的是Gates 可以利用Gate去query其他component的狀態

來決定要不要往下做

Library

可以先定義好並儲存參數的地方

Pipelines或是Release都可以從這邊用$(variable_name)吃到Library的group參數

Agent Pool

為了免費使用所以務必選擇Self-hosted agent

在Agent pools中可以設定不同的agent幫助你做CI

Deployment Group

當你要將Test分群的時候就可以用之

將同一個Tags的Test assin在一起

Test Runs

把跑完的結果轉成junit or nunit的format就可以利用publish task result包成漂亮的圖表結果

還能通知到指定的群組

--

--

Jane
Jane

Written by Jane

Life’s a Struggle But You Can Win

No responses yet