通過阿里雲 CLI(Alibaba Cloud Command Line Interface)調用雲效 OpenAPI,可以通過命令列管理和維護代碼管理 Codeup、流水線 Flow、專案協作 Projex、應用交付 AppStack 等子產品,實現 DevOps 流程的自動化。以下以調用 flow-get-flow-tag-group 介面擷取流水線標籤組詳情為例,介紹從安裝、配置到首次 API 呼叫的完整流程。
開始之前
已建立雲效組織,並確認組織類型為 Region 版。關於組織類型的差異和接入方式,參見服務存取點。
已擷取個人存取權杖(Personal Access Token)。擷取方式參見擷取個人存取權杖。
已瞭解阿里雲 CLI 的基本概念,參見什麼是阿里雲 CLI。
步驟一:安裝阿里雲 CLI
根據作業系統選擇對應的安裝方式:
Windows:安裝 CLI(Windows)
Linux:安裝/更新 CLI
macOS:安裝 CLI(macOS)
也可使用阿里雲提供的雲命令列 Cloud Shell 調試 CLI 命令,參見什麼是雲命令列。
步驟二:配置雲效 CLI
雲效(Yunxiao)的資料面帳號體系與阿里雲其他產品不同,不使用 profile(AK/SK)儲存身份憑證,而是通過個人存取權杖(Personal Access Token) 進行認證。需要先在雲效控制台產生個人存取權杖,再通過環境變數或命令列參數傳入,而非使用 aliyun configure 配置 profile。
擷取個人存取權杖
個人存取權杖可用於訪問雲效 API 及通過 HTTP 協議進行 Git 操作。
建立令牌時,請選擇最小授權範圍的 API 許可權點,並設定合理的有效時間,避免使用永久令牌。
令牌僅在首次建立時顯示,後續無法再次查看,請務必妥善儲存。
請勿通過命令列以純文字形式傳遞令牌,建議通過環境變數傳入。
發現令牌泄露時,請立即刪除。
配置身份憑證
雲效 CLI 支援兩種配置方式:環境變數和命令列參數。
方式一:通過環境變數配置(推薦)
雲效 CLI 使用以下環境變數完成身份和存取點配置:
環境變數 | 說明 | Region 版 |
| 雲效個人存取權杖 | 必須 |
| API 接入地址 | 必須 |
| 組織 ID | 不需要 |
Region 版樣本:
export ALIBABA_CLOUD_YUNXIAO_ACCESS_TOKEN=<your-personal-access-token>
export ALIBABA_CLOUD_YUNXIAO_API_BASE_URL=<your-api-base-url>方式二:通過命令列參數配置
不設定環境變數時,每條命令也支援直接通過參數傳入:
參數 | 說明 | Region 版 |
| 雲效個人存取權杖(對應環境變數: | 必須 |
| API 接入地址(對應環境變數: | 必須 |
| 組織 ID(對應環境變數: | 不需要 |
Region 版樣本:
aliyun devops flow-get-flow-tag-group --id 0 \
--api-base-url=<your-api-base-url> \
--yunxiao-access-token=<your-personal-access-token>驗證配置
完成配置後,執行以下命令確認雲效 CLI 外掛程式已正確載入:
aliyun devops version命令成功執行並返回版本資訊,表示 CLI 安裝和外掛程式載入正常。
步驟三:調用雲效 API
樣本一:查看支援的 OpenAPI 列表
使用 --help 選項查看雲效 CLI 支援的全部命令列表。
執行命令
aliyun devops --help輸出結果(部分)
Description: Aliyun CLI plugin for yunxiao operations.
Usage: aliyun devops <command> [flags]
Available Commands:
app-stack-create-application 建立應用
app-stack-list-applications 擷取應用列表
codeup-create-repository 建立代碼倉庫
codeup-list-repositories 擷取代碼倉庫列表
flow-create-pipeline 建立流水線
flow-list-pipelines 擷取流水線列表
flow-get-flow-tag-group 擷取流水線標籤組詳情
projex-search-projects 搜尋專案
projex-search-workitems 搜尋工作項目
...雲效 CLI 覆蓋以下主要模組:
模組首碼 | 功能說明 |
| 應用交付(AppStack) |
| 基礎資訊(組織、成員、角色等) |
| 代碼管理(Codeup) |
| 流水線(Flow) |
| 效能洞察(Insight) |
| 製品倉庫(Packages) |
| 專案協作(Projex) |
| 測試管理(Testhub) |
樣本二:擷取流水線標籤組詳情
以下樣本展示如何調用 flow-get-flow-tag-group 命令擷取流水線標籤組詳情。
執行命令
# 環境變數方式(Region 版)
export ALIBABA_CLOUD_YUNXIAO_ACCESS_TOKEN=<your-personal-access-token>
export ALIBABA_CLOUD_YUNXIAO_API_BASE_URL=<your-api-base-url>
aliyun devops flow-get-flow-tag-group --id 0返回結果樣本
{
"id": 0,
"name": "環境標籤",
"tags": [
{
"id": 1,
"name": "生產",
"color": "#FF6B6B"
},
{
"id": 2,
"name": "預發",
"color": "#4ECDC4"
}
]
}如果調用雲效 OpenAPI 後返回錯誤,根據返回的錯誤碼提示檢查傳入的請求參數及其取值是否正確。
更多命令樣本
列出代碼倉庫
分頁查詢代碼倉庫列表,返回倉庫名稱、ID 等基本資料。
aliyun devops codeup-list-repositories --page 1 --per-page 20搜尋專案
分頁搜尋專案列表,返回專案名稱、ID 等基本資料。
aliyun devops projex-search-projects --page 1 --per-page 10列出流水線
分頁查詢流水線列表,返迴流水線名稱、狀態等資訊。
aliyun devops flow-list-pipelines --page 1 --per-page 20列出應用
分頁查詢應用列表,結果按建立時間排序。
aliyun devops app-stack-list-applications --pagination '{"page":1,"perPage":20}' --order-by createdAt使用 JMESPath 過濾輸出
通過 --cli-query 參數使用 JMESPath 運算式過濾返回結果,僅輸出指定欄位。以下命令僅返回每個代碼倉庫的名稱和 ID。
aliyun devops codeup-list-repositories --cli-query 'result[].{name:name,id:id}'瞭解更多
執行
aliyun devops --help查看完整命令列表,探索各模組支援的全部 API 操作。通過
--cli-query參數結合 JMESPath 運算式自訂輸出格式,按需提取返回結果中的特定欄位。關於 Region 版的完整接入配置,參見服務存取點。