命令介绍

本文为您介绍ComputeNest CLI相关命令行以及命令行的使用示例。

了解ComputeNest CLI命令

命令

说明

login

登录到计算巢。

list-projects

列出支持的服务模板。

init-project

通过指定项目名称来初始化项目。

import

通过导入配置文件来创建或更新服务。

generate

通过指定输出目录生成文件或项目。

service-test

通过service-test命令对服务进行测试用例的生成、导入、执行和导出。

要获取特定命令的帮助,请在命令后添加 --help

computenest-cli import --help

使用ComputeNest CLI命令

login

  • 参数说明

    参数

    必填

    描述

    示例值

    默认值

    --access_key_id

    认证所需的访问密钥ID。

    AKID1234567890

    None

    --access_key_secret

    认证所需的访问密钥。

    secret1234567890

    None

    --security_token

    认证所需的Security Token。

    security_token_value

    None

  • 示例

    computenest-cli login \
     --access_key_id AKID1234567890 \
     --access_key_secret secret1234567890

list-projects

使用此命令来获取支持的服务模板和项目名称,你可以使用 computenest-cli init-project --project_name xxx 来初始化项目。

  • 参数说明

    参数

    必填

    描述

    示例值

    默认值

    --service_type

    筛选出指定服务类型,可选值包括 private 和 managed

    private指的是私有化部署,managed指的是全托管部署。

    private

    None

  • 示例

    computenest-cli list-projects --service_type private

init-project

通过指定项目名称来初始化项目。使用此命令来下载指定项目到输出路径,随后你可以切换到输出路径中,使用 computenest-cli import 来快速创建计算巢服务。

  • 参数说明

    参数

    必填

    描述

    示例值

    默认值

    --project_name

    项目名称。

    MyProject

    None

    --output_path

    项目文件保存的输出目录路径。

    /path/to/output

    .

  • 示例

    computenest-cli init-project --project_name springboot-package-ecs-demo --output_path

import

通过导入配置文件来创建或更新服务。

  • 参数说明

    参数

    必填

    描述

    示例值

    默认值

    --file_path

    配置文件的路径。如果未指定,将会寻找当前目录下的config.yaml,或者.computenest/config.yaml文件。

    /path/to/your/config.yaml

    config.yaml

    --region_id

    服务部署所在的区域ID。例如,杭州区域为"cn-hangzhou",新加坡区域为"ap-southeast-1"。

    cn-hangzhou

    cn-hangzhou

    --service_id

    服务的唯一标识符。如果指定,将用于识别被导入的服务,并可能更新服务名称。

    service-12345

    None

    --service_name

    导入服务的名称,用于识别服务。

    my-service

    None

    --service_info

    描述服务信息的JSON字符串,用于支持中英文Locale。每个条目包含LocaleShortDescriptionImageName

    [{"Locale": "en-US", "ShortDescription": "Example Service", "Image": "https://example.com/image.png", "Name": "example-service"}]

    None

    --version_name

    服务版本的可选描述,用于区分不同版本的部署。

    v1.0

    None

    --desc

    服务的简短描述,帮助用户理解服务的用途。

    示例服务

    None

    --update_artifact

    指定是否需要更新制品。设定为 True 更新制品, False 保持现有制品。

    True

    False

    --icon

    服务自定义图标的URL,可以使用文件相对路径、绝对路径或指向OSS等可公开访问的图像位置。

    https://xxx/icon.png

    None

    --parameters

    传递给服务配置的JSON格式参数字符串,默认为空的JSON对象{}。该选项在创建托管版务时使用。

    {"key1": "value1", "key2": "value2"}

    {}

    --parameter_path

    参数文件的路径,覆盖--parameters选项。文件应为JSONYAML格式。该选项在创建托管服务时使用。

    /path/to/parameters.json

    ""

    注意:

    • --file_path 可以在项目根目录执行的情况下载入,此目录需要包含 .computenest 目录。

    • 如果指定了 --service_id,将优先使用该 ID 识别服务且可更新服务名称;否则使用 --service_name 识别服务。

  • 示例

    仅使用服务名称创建服务,其他参数使用默认值

    computenest-cli import --service_name=my-service-test1

    当该服务创建好后,使用同样的命令更新服务,可使用--update_artifact=True来更新服务采用的软件(部署物)。

    computenest-cli import --service_name=my-service-test1 --update_artifact=True

    配置中英文

    computenest-cli import --service_info '[{"Locale": "en-US", "ShortDescription": "An example service for demonstration purposes.", "Image": "https://service-info-public.oss-cn-hangzhou.aliyuncs.com/5141674772595072/service-image/ca7d10d9-1aa0-4bb5-913d-b347f71804a4.png", "Name": "ExampleServiceXYZ"}, {"Locale": "zh-CN", "ShortDescription": "此服务用于演示如何配置和部署。", "Image": "https://service-info-public.oss-cn-hangzhou.aliyuncs.com/1853370294850618/service-image/bfd30cc4-e959-4093-b5cb-77a05058b911.png", "Name": "示例服务test-anxh"}]'

    指定配置文件与其他参数

    computenest-cli import \
     --region_id cn-hangzhou \
     --file_path config1.yaml \
     --update_artifact True \
     --service_id service-12345 \
     --service_name my-service \
     --version_name new_version \
     --icon https://xxx/icon.png \
     --desc "Sample service" \
     --parameter_path /path/to/parameters.json

generate

通过指定输出目录生成文件或项目。

  • 参数说明

    参数

    必填

    描述

    示例值

    默认值

    --output_path

    生成文件保存的输出目录路径。

    /path/to/output

    .computenest

    --file_path

    要生成的具体文件的路径。

    /path/to/file.txt

    .

    --parameters

    JSON 格式的参数字符串。默认为空的 JSON 对象 {}

    {"key1": "value1"}

    {}

    --parameter_path

    参数文件的路径。如果提供,将覆盖 --parameters 选项。

    /path/to/parameters.json

    None

    --overwrite-y

    如果设置,则确认在不提示的情况下覆盖输出文件。

    (无示例,仅为标志)

    False

  • 示例

    仅传入parameters参数,生成BetterChatGPT项目的配置文件

    computenest-cli generate -y \
     --parameters '{
     "ArtifactSourceType": "DockerCompose",
     "RepoName": "ztjhz/BetterChatGPT",
     "Platform": "github",
     "Branch": "main",
     "ServiceType": "private",
     "DockerComposeYamlPath": "docker-compose.yml",
     "DockerComposeEnvPath": ".env.example",
     "RegionId": "cn-hangzhou",
     "ServiceBuildRegion": "ap-southeast-1"
     }'

service-test

通过service-test命令对服务进行测试用例的生成、导入、执行和导出。

子命令列表:generate 、import 、execute 、export。

  • generate

    在指定路径下对每个模板生成一个Case文件。

    参数

    必填

    描述

    示例值

    默认值

    --service_id

    服务ID。

    service-xxx

    None

    --service_name

    服务名称。

    my-test

    None

    --version_name

    版本名称。

    draft

    不传值时查询当前服务的默认版本。

    --cases_path

    服务测试用例所在路径名。

    /path/to/your/test/cases

    None

    --region_id

    地域ID。

    cn-hangzhou

    None

    --overwrite

    是否覆盖指定路径的测试用例。

    ``

    True

    computenest-cli service-test  generate --service_id service-f99b********46f --cases_path path/to/your/test/cases 
  • import

    将指定路径下Case文件集合导入到当前服务版本。

    参数

    必填

    描述

    示例值

    默认值

    --service_id

    服务ID。

    service-xxx

    None

    --service_name

    服务名称。

    my-test

    None

    --version_name

    版本名称。

    draft

    不传值时查询当前服务的默认版本。

    --cases_path

    服务测试用例所在路径名。

    /path/to/your/test/cases

    None

    --region_id

    地域ID。

    cn-hangzhou

    None

    computenest-cli service-test  import --service_id service-f99b********46f --cases_path path/to/your/test/cases 
  • execute

    将指定路径下Case文件集合作为一个Task运行。

    参数

    必填

    描述

    示例值

    默认值

    --task_name

    任务名称。

    task-2025

    None

    --task_region_id

    任务执行地域。

    cn-hangzhou

    系统随机选择支持的地域。

    --version_name

    版本名称。

    draft

    不传值时查询当前服务的默认版本。

    --cases_path

    服务测试用例所在路径名。

    /path/to/your/test/cases

    None

    --region_id

    地域ID。

    cn-hangzhou

    None

    computenest-cli service-test  execute --task_name task-2025 --service_id service-f99b********46f --cases_path path/to/your/test/cases 
  • export

    将指定服务版本的Case文件集合导出到指定路径。

    参数

    必填

    描述

    示例值

    默认值

    --service_id

    服务ID。

    service-xxx

    None

    --service_name

    服务名称。

    my-test

    None

    --version_name

    版本名称。

    draft

    不传值时查询当前服务的默认版本。

    --cases_path

    服务测试用例所在路径名。

    /path/to/your/test/cases

    None

    --region_id

    地域ID。

    cn-hangzhou

    None

    computenest-cli service-test export --service_id service-f99b********46f --cases_path path/to/your/test/cases