如何安装、初始化配置和使用云效 CLI
通过阿里云 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 版的完整接入配置,参见服务接入点。