bk-cli paas — 蓝鲸 PaaS 应用部署能力
用于通过 bk-cli paas 调用蓝鲸 PaaS 应用、模块、部署、日志、进程、环境变量和增强服务相关 API。
CRITICAL — 开始前 MUST 先用 Read 工具读取 ../bk-cli-shared/SKILL.md。共享 skill 负责认证、context、tenant、stage、dry-run、verbose、header/body 和通用请求规则;本 skill 只补充 paas 命令自己的语义与输入约定。
当前覆盖范围
当前 skill 覆盖以下命令:
get_minimal_app_listget_app_infolist_app_modulesget_repo_branchesget_deployments_liststreams_history_eventslist_processesmodule_env_released_infomodule_env_released_statesearch_standard_log_with_postcreate_moduleget_deployment_resultdeploy_with_modulecreate_cloud_native_applist_config_varsget_config_varset_config_var_valuelist_module_servicesbind_serviceget_service_instance_by_moduleunbind_service
输入约定
- 这些接口都要求应用认证 + 用户认证 + 接口资源权限。调用前需要确保当前 context 的凭据同时满足应用身份和用户身份,并且对应应用已申请这些 API 的接口权限。
- 应用 ID 使用 PaaS 应用
app_code,部分接口按上游原始参数名使用code。 - 模块名使用 PaaS 模块名称;未指定模块时,通常使用默认模块
default。相关命令已把module或module_name默认值设为default。 - 环境参数使用接口原始参数名:
env或environment,常见值为stag或prod。写操作默认先用stag,除非用户明确要求prod。 deploy_with_module、create_module、create_cloud_native_app、set_config_var_value、bind_service等复杂请求体通过共享--body '<json>'传入;查看完整结构可运行bk-cli paas <action> -h --body-schema。
常用工作流
- 用
get_minimal_app_list定位应用 ID。 - 用
get_app_info确认应用类型、语言、模块和最近部署时间。 - 用
list_app_modules确认模块名;用户未指定时优先使用default。 - 代码仓库部署前用
get_repo_branches取得name/type/revision,填入deploy_with_module的--body。 - 部署后用
get_deployments_list找部署任务,再用streams_history_events查看日志流。 - 需要看运行态时,用
module_env_released_state、list_processes或search_standard_log_with_post。 - 需要管理环境变量时,用
list_config_vars、get_config_var、set_config_var_value。 - 需要管理增强服务绑定时,用
list_module_services、bind_service、get_service_instance_by_module、unbind_service。 - 需要创建云原生应用或模块时,分别使用
create_cloud_native_app或create_module。
Commands
get_minimal_app_list
bk-cli paas get_minimal_app_list
bk-cli paas get_minimal_app_list --app_status normal --source_origin 1
- 获取当前用户有权限的 App 简明信息列表。
- 调用路径:
GET /bkapps/applications/lists/minimal - 常看字段:
results[].application.code、results[].application.name。
get_app_info
bk-cli paas get_app_info --app_code bk-demo
- 查看应用信息。写操作前先调用一次确认
app_code,创建模块前确认application.type为cloud_native。 - 调用路径:
GET /bkapps/applications/{app_code}/ - 常看字段:
application.type、application.language、application.modules、application.last_deployed_date。
list_app_modules
bk-cli paas list_app_modules --app_code bk-demo
bk-cli paas list_app_modules --app_code bk-demo --source_origin 1
- 查看应用下所有模块。
- 调用路径:
GET /bkapps/applications/{app_code}/modules/ - 多模块应用先确认用
default还是其他模块;is_default=true表示默认模块。
get_repo_branches
bk-cli paas get_repo_branches --app_code bk-demo
bk-cli paas get_repo_branches --app_code bk-demo --module default
- 获取应用模块的代码仓库分支信息。
- 调用路径:
GET /bkapps/applications/{app_code}/modules/{module}/repo/branches/ - 返回中
results[].name对应部署 body 的version_name,results[].type对应version_type,results[].revision可填入revision。 - 纯镜像应用没有仓库;遇到仓库相关错误时改走镜像部署路径,不要反复重试该接口。
get_deployments_list
bk-cli paas get_deployments_list --app_code bk-demo
bk-cli paas get_deployments_list --app_code bk-demo --environment prod --limit 12 --offset 0
- 获取应用模块部署历史,默认模块为
default。 - 调用路径:
GET /bkapps/applications/{app_code}/modules/{module}/deployments/lists/ - 可选 query:
environment、operator、limit、offset。 - 返回中
results[].id或results[].deployment_id可作为streams_history_events的channel_id。
streams_history_events
bk-cli paas streams_history_events --channel_id 22d0e9c8-9cfc-45a5-b5a8-718137c515db
bk-cli paas streams_history_events --channel_id 22d0e9c8-9cfc-45a5-b5a8-718137c515db --last_event_id 10
- 获取部署日志流,
channel_id通常就是部署任务 ID。 - 调用路径:
GET /streams/{channel_id}/history_events - 有频控,约每用户 60 秒 10 次;不要 tight loop。
list_processes
bk-cli paas list_processes --app_code bk-demo --env stag
bk-cli paas list_processes --app_code bk-demo --module default --env prod --release_id 123
- 获取应用环境所有进程与实例信息。
- 调用路径:
GET /bkapps/applications/{app_code}/modules/{module}/envs/{env}/processes/list/ - 常看字段:replica、实例
Running/ready、重启次数。
module_env_released_info
bk-cli paas module_env_released_info \
--code bk-demo \
--environment prod
- 查询应用模块环境部署信息,默认模块为
default。 - 调用路径:
GET /bkapps/applications/{code}/modules/{module_name}/envs/{environment}/released_info/
module_env_released_state
bk-cli paas module_env_released_state \
--code bk-demo \
--environment prod
- 查询应用模块环境部署状态,比
module_env_released_info多is_offlined、默认访问入口等信息。 - 调用路径:
GET /bkapps/applications/{code}/modules/{module_name}/envs/{environment}/released_state/ - 常看字段:
is_offlined、exposed_link.url、default_access_entrance.url。从未发布过时上游可能返回APP_NOT_RELEASED。
search_standard_log_with_post
bk-cli paas search_standard_log_with_post \
--app_code bk-demo \
--body '{"query":{"query_string":"","terms":{"environment":["stag"]}}}'
bk-cli paas search_standard_log_with_post \
--app_code bk-demo \
--module default \
--time_range customized \
--start_time '2026-08-24 10:00:00' \
--end_time '2026-08-24 11:00:00' \
--body '{"query":{"query_string":"error","terms":{"environment":["prod"],"process_id":["web"]}}}'
- 查询应用标准输出日志,默认模块为
default,默认查询最近1h。 - 调用路径:
POST /bkapps/applications/{app_code}/modules/{module}/log/standard_output/list/ - 可选 query:
time_range、start_time、end_time、limit、scroll_id。 - 过滤环境和进程时放在 body 的
query.terms中,例如environment或process_id。
create_module
bk-cli paas create_module \
--app_code bk-demo \
--body '{"name":"api","source_config":{"source_init_template":"dj2_with_auth","source_origin":2},"bkapp_spec":{"build_config":{"build_method":"buildpack"}}}'
- 为云原生应用创建模块。调用前先用
get_app_info确认应用类型为cloud_native。 - 调用路径:
POST /bkapps/applications/{app_code}/modules/ - 请求体必填字段:
name、source_config、bkapp_spec;常见 buildpack 场景还需在bkapp_spec.build_config.build_method填buildpack。完整结构见bk-cli paas create_module -h --body-schema。
get_deployment_result
bk-cli paas get_deployment_result \
--app_code bk-demo \
--deployment_id 12345
- 查询部署任务结果,默认模块为
default。 - 调用路径:
GET /bkapps/applications/{app_code}/modules/{module}/deployments/{deployment_id}/result/
deploy_with_module
bk-cli paas deploy_with_module \
--app_code bk-demo \
--env prod \
--body '{"revision":"{commit_id}","version_type":"branch","version_name":"master"}'
- 触发支持多模块的 App 部署,默认模块为
default。 - 调用路径:
POST /bkapps/applications/{app_code}/modules/{module}/envs/{env}/deployments/ - 请求体字段:
revision为源码仓库版本号,可选;version_name为 branch 或 tag 名称,必填;version_type为版本类型,必填,svn 支持trunk/tag,git 支持branch。
create_cloud_native_app
bk-cli paas create_cloud_native_app \
--body '{"code":"bk-demo","name":"bk-demo","source_config":{"source_origin":1,"source_repo_url":"https://github.com/octocat/helloWorld.git","source_repo_auth_info":{},"source_dir":"","source_init_template":"docker"},"bkapp_spec":{"build_config":{"build_method":"dockerfile","dockerfile_path":"Dockerfile"}}}'
- 创建云原生应用。
- 调用路径:
POST /bkapps/cloud-native/ - 请求体根字段:
code、name、source_config、bkapp_spec必填;app_tenant_mode、auth_code、is_plugin_app、advanced_options按需传入。 source_config.source_origin表示源码来源,常见值:1为已授权代码仓库;6对应上游SourceOrigin.CNATIVE_IMAGE,表示仅托管镜像的云原生应用。bkapp_spec.build_config.build_method支持buildpack、dockerfile、custom_image;dockerfile场景通常需要dockerfile_path,custom_image场景需要image_repository且通常需要processes。
list_config_vars
bk-cli paas list_config_vars --app_code bk-demo
bk-cli paas list_config_vars --app_code bk-demo --module default
- 查看应用模块的环境变量列表,默认模块为
default。 - 调用路径:
GET /bkapps/applications/{app_code}/modules/{module}/config_vars/
get_config_var
bk-cli paas get_config_var --app_code bk-demo --config_var_key FOO
bk-cli paas get_config_var --app_code bk-demo --module default --config_var_key FOO
- 通过 key 查询单个环境变量,默认模块为
default。 - 调用路径:
GET /bkapps/applications/{app_code}/modules/{module}/config_vars/{config_var_key}/
set_config_var_value
bk-cli paas set_config_var_value \
--app_code bk-demo \
--config_var_key FOO \
--body '{"environment_name":"stag","value":"bar","description":"demo config","is_sensitive":false}'
- 通过 key 创建或更新环境变量,默认模块为
default。 - 调用路径:
POST /bkapps/applications/{app_code}/modules/{module}/config_vars/{config_var_key}/ - 请求体必填字段:
environment_name;取值常见为stag、prod或_global_。新建变量时同时传value。 - 敏感变量设置
is_sensitive=true,查询结果中的值可能由上游掩码。
list_module_services
bk-cli paas list_module_services --app_code bk-demo
bk-cli paas list_module_services --app_code bk-demo --module default
- 查看应用模块的增强服务,默认模块为
default。 - 调用路径:
GET /bkapps/applications/{app_code}/modules/{module}/services/ - 返回通常会按已绑定、共享和未绑定服务分组;绑定前可从未绑定服务中确认
service_id。
bind_service
bk-cli paas bind_service \
--body '{"code":"bk-demo","service_id":"svc-uuid","module_name":"default"}'
- 绑定应用模块与增强服务。
- 调用路径:
POST /services/service-attachments/ - 请求体必填字段:
code、service_id;module_name不传时由上游按默认模块处理,建议显式传default。 - 需要指定服务方案时传
plan_id,需要分环境方案时传env_plan_id_map。
get_service_instance_by_module
bk-cli paas get_service_instance_by_module \
--app_code bk-demo \
--service_id svc-uuid
- 查看应用模块与增强服务的绑定关系详情,默认模块为
default。 - 调用路径:
GET /bkapps/applications/{app_code}/modules/{module}/services/{service_id}/
unbind_service
bk-cli paas unbind_service \
--app_code bk-demo \
--service_id svc-uuid
- 解绑应用模块与增强服务,默认模块为
default。 - 调用路径:
DELETE /bkapps/applications/{app_code}/modules/{module}/services/{service_id}/ - 解绑是写操作,真实执行前建议先加
--dry-run确认 app、module 和 service_id。