如何安装、初始化配置和使用云效 CLI

更新时间:
复制 MD 格式

通过阿里云 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

根据操作系统选择对应的安装方式:

也可使用阿里云提供的云命令行 Cloud Shell 调试 CLI 命令,参见什么是云命令行

步骤二:配置云效 CLI

重要

云效(Yunxiao)的数据面账号体系与阿里云其他产品不同,不使用 profile(AK/SK)保存身份凭证,而是通过个人访问令牌(Personal Access Token) 进行认证。需要先在云效控制台生成个人访问令牌,再通过环境变量或命令行参数传入,而非使用 aliyun configure 配置 profile。

获取个人访问令牌

个人访问令牌可用于访问云效 API 及通过 HTTP 协议进行 Git 操作。

警告
  • 创建令牌时,请选择最小授权范围的 API 权限点,并设置合理的有效时间,避免使用永久令牌。

  • 令牌仅在首次创建时显示,后续无法再次查看,请务必妥善保存。

  • 请勿通过命令行以纯文本形式传递令牌,建议通过环境变量传入。

  • 发现令牌泄露时,请立即删除。

配置身份凭证

云效 CLI 支持两种配置方式:环境变量和命令行参数。

方式一:通过环境变量配置(推荐)

云效 CLI 使用以下环境变量完成身份和接入点配置:

环境变量

说明

Region 版

ALIBABA_CLOUD_YUNXIAO_ACCESS_TOKEN

云效个人访问令牌

必须

ALIBABA_CLOUD_YUNXIAO_API_BASE_URL

API 接入地址

必须

ALIBABA_CLOUD_YUNXIAO_ORGANIZATION_ID

组织 ID

不需要

Region 版示例:

export ALIBABA_CLOUD_YUNXIAO_ACCESS_TOKEN=<your-personal-access-token>
export ALIBABA_CLOUD_YUNXIAO_API_BASE_URL=<your-api-base-url>

方式二:通过命令行参数配置

不设置环境变量时,每条命令也支持直接通过参数传入:

参数

说明

Region 版

--yunxiao-access-token

云效个人访问令牌(对应环境变量:ALIBABA_CLOUD_YUNXIAO_ACCESS_TOKEN

必须

--api-base-url

API 接入地址(对应环境变量:ALIBABA_CLOUD_YUNXIAO_API_BASE_URL

必须

--organization-id

组织 ID(对应环境变量:ALIBABA_CLOUD_YUNXIAO_ORGANIZATION_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 覆盖以下主要模块:

模块前缀

功能说明

app-stack-*

应用交付(AppStack)

base-*

基础信息(组织、成员、角色等)

codeup-*

代码管理(Codeup)

flow-*

流水线(Flow)

insight-*

效能洞察(Insight)

packages-*

制品仓库(Packages)

projex-*

项目协作(Projex)

test-hub-*

测试管理(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 版的完整接入配置,参见服务接入点