使用 Azure CLI 管理 Azure DevOps Services 服務 | The Will Will Web

The Will Will Web

記載著 Will 在網路世界的學習心得與技術分享

使用 Azure CLI 管理 Azure DevOps Services 服務

Azure DevOps Services 提供相當完整的 CLI 命令列介面支援,早期你可以使用 VSTS CLI 來操作 Azure DevOps Services 與 Team Foundation Server (TFS),但未來你可能要改用 Azure CLI 並安裝 Azure DevOps extension 來管理 Azure DevOps 上的各種資源。本篇文章將介紹新版 Azure CLI with Azure DevOps extension 的相關用法。

設定步驟

  1. 請先安裝 Azure CLI 命令列工具

    確認 Azure CLI 版本必須在 2.0.49 以上!

    az --version
    

    第一次使用 Azure CLI 的話,建議可以先執行 az configure 命令調整預設設定,尤其是調整 default output format 設定,這個設定預設為 json,方便透過不同 CLI 工具之間整合,但如果經常手動執行 CLI 命令,是可以調整為 table 排版會比較好看。

  2. 替 Azure CLI 新增 Azure DevOps 擴充命令

    執行以下命令將會全自動安裝完成:

    az extension add --name azure-devops
    

    檢查目前已安裝的擴充命令:

    az extension list
    az extension show --name azure-devops
    
  3. 第一次使用必須登入 Azure CLI

    az login
    

    第一次執行登入時,在 Windows 會自動開啟瀏覽器,並進入 https://aka.ms/devicelogin 網址,你直接透過瀏覽器登入後就可以關閉瀏覽器,回到 Azure CLI 命令列環境下就會發現自動登入成功。

  4. 設定 Azure DevOps 預設組織與專案

    在使用 Azure CLI with Azure DevOps extension 的時候,雖然每個命令都可以特別指定 組織 (organization) 與 專案 (project),但設定好預設值可以有效減少命令的長度,因此建議可以先設定好常用的組織專案

    僅設定預設組織:

    az devops configure --defaults organization=https://dev.azure.com/miniasp
    

    請注意:Azure DevOps Services 的網址都是 https://dev.azure.com/ 開頭!

    設定預設組織與專案:

    az devops configure --defaults organization=https://dev.azure.com/willh project=AngularTW
    

常用 az devops 命令

  • 使用 Personal Access Token (PAT) 登入 Azure DevOps

    az devops login --organization https://dev.azure.com/contoso
    

    第一次使用可參考 如何建立 PAT 金鑰說明文件

  • 啟用 Git Alias 功能支援

    使用以下命令啟用 Git Alias 之後,之後只要在 Azure Repos 的 Git 工作目錄下執行 git pr 就等同於輸入 az repos pr 一樣,輸入 git pr list 就可以很便利的列出目前所有的 Pull requests 分支名稱;而輸入 git repo list 也可以自動幫你執行 az repos list 命令。

    az devops configure --use-git-alias true
    
  • 列出所有專案

    az devops project list
    

    只列出公開專案

    az devops project list --query "[?visibility=='public']"
    

    只列出私有專案,且僅顯示專案ID專案名稱專案說明欄位

    az devops project list --query "[?visibility=='private'].{ProjectID: id, ProjectName: name, ProjectDescription: description}"
    
  • 建立新專案

    az devops project create --name "demo1" -d "Demo purpose" -p "scrum" -s "git" --open
    
    • -p 可以指定 Work item process,你可以設定 basic, scrum, agile (預設) 或 cmmi
    • -s 可以指定版控的類型,你可以設定 git (預設) 或 tfvc
    • --open 可以在建立完專案後自動開啟瀏覽器,直接進入專案首頁

    你也可以使用 --visibility 參數,設定 private (私有專案) (預設) 或 public (開源專案)

  • 列出所有公告文字

    az devops admin banner list
    
  • 新增公告文字

    az devops admin banner add -m '所有專案請用 Wikis 來撰寫說明文件!'  -t warning
    az devops admin banner add -m '!!! CAUTION: PLEASE DO SLEEP WELL' --expiration '2019-05-27 04:00:00 UTC' --org https://dev.azure.com/miniasp
    
  • 更新公告文字

    az devops admin banner update --id 3f52ed4b-f3af-400a-962a-bf2adb363019 -m '!!! CAUTION: PLEASE DO SLEEP WELL' --expiration '2019-05-27 04:00:00 UTC' -t error
    

    記得先用 az devops admin banner list 查詢出 banner ID

  • 刪除公告文字

    az devops admin banner remove --id c40cacd3-cd48-4dd0-b790-64cc3804715b
    

    記得先用 az devops admin banner list 查詢出 banner ID

  • 刪除所有公告

    az devops admin banner list -o json | jq 'keys | .[]' -r | xargs -I '{}' -s 10 az devops admin banner remove --id  '{}'
    
  • 更多實用範例

參考連結