• Joined on 2025-12-14

@deploy-platform/cli (0.0.47)

Published 2026-05-28 06:54:35 +00:00 by admin

Installation

@deploy-platform:registry=
npm install @deploy-platform/cli@0.0.47
"@deploy-platform/cli": "0.0.47"

About this package

Deploy Platform CLI

npm version License: MIT

Deploy Platform 命令行工具,用于部署和管理 Kubernetes 应用。支持项目初始化、前置资源创建、四阶段部署、状态监控、回滚等完整生命周期操作。

安装

从私有 npm 仓库安装(推荐)

# 配置私有 registry(仅需执行一次)
npm config set @deploy-platform:registry https://codehub.zlinkcloudtech.com/api/packages/admin/npm/
npm config set -- '//codehub.zlinkcloudtech.com/api/packages/admin/npm/:_authToken' "your-token-here"

# 全局安装
npm install -g @deploy-platform/cli

或者创建 ~/.npmrc 文件:

@deploy-platform:registry=https://codehub.zlinkcloudtech.com/api/packages/admin/npm/
//codehub.zlinkcloudtech.com/api/packages/admin/npm/:_authToken="your-token-here"
always-auth=true

从源码构建

git clone https://codehub.zlinkcloudtech.com/admin/deploy.git
cd deploy/cli
npm install
npm run build
npm link

验证安装

deploy --version
deploy --help

初始配置

安装完成后,配置后端 API 地址和认证 Token:

deploy config set api.url http://your-backend:8000/api/v1
deploy config set api.token your-access-token

配置项说明

配置项 说明 默认值
api.url 后端 API 地址 http://localhost:8000/api/v1
api.token API 认证 Token
api.timeout API 请求超时(毫秒) 30000
cli.autoUpdateCheck 启动时自动检查新版本 true
cli.npmRegistry 升级时使用的 npm registry 私有 registry

命令参考

所有操作型命令均需要 <project-name> 参数(或在 deploy.yaml 所在目录运行,自动读取项目名)。

deploy init <project-name>

初始化项目配置文件并注册到后端服务。

deploy init <project-name> [选项]

选项:
  -t, --template <name>   从远程模板创建(nodejs-web / python-api / worker)
  -f, --file <path>       使用已有的 deploy.yaml 直接注册(跳过交互式配置)
  -o, --output <path>     配置文件输出目录(模板/交互模式下有效)
  -d, --dry-run           试运行,生成配置文件但不注册到后端

示例:
  deploy init my-app                        # 交互式创建
  deploy init my-app -t nodejs-web          # 从模板创建
  deploy init my-app -f ./deploy.yaml       # 使用已有配置注册

deploy run <project-name>

执行完整的四阶段部署流程(检查 → 前置资源 → Helm 部署 → 健康检查)。

deploy run <project-name> [选项]

选项:
  --skip-check    跳过部署前检查阶段
  --skip-prereq   跳过前置资源创建阶段
  --skip-health   跳过健康检查阶段
  --dry-run       模拟运行,不实际部署

示例:
  deploy run my-app                    # 完整四阶段部署
  deploy run my-app --skip-prereq      # 跳过前置资源(资源已存在时使用)
  deploy run my-app --dry-run          # 试运行

deploy status <project-name> [deployment-id]

查看部署状态和进度。

deploy status <project-name> [deployment-id] [选项]

选项:
  --watch               持续监控,轮询显示状态变化
  --interval <seconds>  监控轮询间隔(秒),默认 5

示例:
  deploy status my-app             # 查看最新部署状态
  deploy status my-app <uuid>      # 查看指定部署
  deploy status my-app --watch     # 实时监控

deploy check <project-name>

执行部署前检查(集群连通性、Chart 存在性、镜像存在性、Namespace、前置资源就绪等)。

deploy check <project-name> [选项]

选项:
  --health      执行健康检查
  --prereq      检查前置资源状态
  --deployments 检查部署状态
  --all         执行所有检查

示例:
  deploy check my-app
  deploy check my-app --all

deploy prereq <project-name>

创建项目的前置资源(Kubernetes Namespace、域名 DNS、CFS 存储等)。

deploy prereq <project-name> [选项]

选项:
  --skip        跳过实际创建,仅在数据库中创建记录
  --k8s-only    仅创建 Kubernetes 资源(Namespace 等)
  --tf-only     仅执行 Terraform 资源(DNS、CFS 等)
  -y, --yes     跳过确认提示

示例:
  deploy prereq my-app
  deploy prereq my-app --k8s-only -y

deploy history <project-name>

查看部署或回滚历史记录。

deploy history <project-name> [选项]

选项:
  --type <type>     历史类型:deployments 或 rollbacks(默认 deployments)
  --limit <n>       显示数量限制(默认 10)
  --page <n>        页码(默认 1)
  --status <status> 按状态过滤
  --all             显示全部历史记录

示例:
  deploy history my-app
  deploy history my-app --limit 20 --status success
  deploy history my-app --type rollbacks

deploy rollback <project-name>

回滚到指定部署版本。

deploy rollback <project-name> [选项]

选项:
  --deployment-id <id>  指定要回滚到的部署 ID(从 deploy history 获取)
  --reason <text>       回滚原因(默认 "manual")
  --dry-run             模拟回滚,不实际执行
  -y, --yes             跳过确认提示

示例:
  deploy rollback my-app
  deploy rollback my-app --deployment-id <uuid> -y

deploy list

列出所有已注册的项目。

deploy list [选项]

选项:
  --status <status>  按状态过滤(registered / deployed / failed 等)
  --limit <n>        显示数量限制(默认 50)
  --page <n>         页码(默认 1)

deploy show <project-name>

查看项目详情和当前配置。

deploy show <project-name>

deploy update <project-name>

更新已注册项目的配置。

deploy update <project-name> [选项]

选项:
  -f, --file <path>  从配置文件更新

deploy export <project-name>

将项目配置导出为 deploy.yaml 文件。

deploy export <project-name> [选项]

选项:
  -o, --output <path>  输出文件路径(默认 ./deploy.yaml)

deploy clean <project-name>

清理项目的 Kubernetes 资源和/或历史记录。

deploy clean <project-name> [选项]

选项:
  --include-terraform  同时清理 Terraform 管理的云资源
  --history            清理历史记录
  --before <date>      仅清理指定时间之前的记录(ISO 8601 格式)

deploy delete <project-name>

从后端注销并删除项目。

deploy delete <project-name> [选项]

选项:
  -f, --force  强制删除,不弹出确认提示

deploy template

管理部署模板。

deploy template list                  # 列出远程仓库中的可用模板
deploy template show <template-name>  # 查看模板详情和字段说明

deploy config

管理 CLI 本地配置(存储在 ~/.config/@deploy-platform/cli/config.json)。

deploy config get [key]          # 查看配置(不传 key 则显示全部)
deploy config set <key> <value>  # 设置配置项
deploy config reset              # 重置为默认值

deploy upgrade

将 CLI 升级到最新版本。

deploy upgrade [选项]

选项:
  --check  仅检查是否有新版本,不执行升级
  --yes    跳过确认提示直接升级

# 自定义 npm registry
deploy config set cli.npmRegistry https://your-registry.com

deploy.yaml 配置格式

deploy init 生成的项目配置文件示例:

apiVersion: deploy/v1
project: my-app
namespace: prod-team-myapp        # 三段式:环境-团队-项目

chart:
  repo: harbor.example.com        # Helm Chart 仓库地址
  name: app/my-app                # Chart 名称(仓库/chart)
  version: "1.0.0"                # Chart 版本

prerequisites:
  namespace:
    - name: prod-team-myapp       # 需要预先创建的 Namespace
  domain:
    - myapp.example.com           # 需要创建的域名(Terraform 管理)

health:
  timeout: 180                    # 健康检查超时(秒)
  http:
    enabled: true
    path: /health                 # 健康检查 HTTP 路径
    port: 3000

更多配置字段说明见 docs/configuration.md

典型工作流

首次部署

# 1. 初始化并注册项目
deploy init my-app --template nodejs-web

# 2. 创建前置资源(Namespace、域名等)
deploy prereq my-app

# 3. 执行部署前检查
deploy check my-app

# 4. 部署应用
deploy run my-app

# 5. 监控部署状态
deploy status my-app --watch

更新部署

# 更新配置后直接部署(自动处理已存在的前置资源)
deploy run my-app --skip-prereq

回滚

# 查看部署历史
deploy history my-app

# 回滚到指定版本
deploy rollback my-app --deployment-id <uuid>

# 确认回滚状态
deploy status my-app

CI/CD 集成(Gitea Actions 示例)

- name: Deploy
  env:
    DEPLOY_API_URL: ${{ secrets.DEPLOY_API_URL }}
    DEPLOY_API_TOKEN: ${{ secrets.DEPLOY_API_TOKEN }}
  run: |
    deploy config set api.url "$DEPLOY_API_URL"
    deploy config set api.token "$DEPLOY_API_TOKEN"
    deploy run my-app --skip-prereq

开发

npm run build      # 构建
npm run dev        # 开发模式(tsc --watch)
npm test           # 运行测试(Vitest)
npm run lint       # ESLint 检查
npm run typecheck  # TypeScript 类型检查

相关文档

许可证

MIT

Dependencies

Dependencies

ID Version
axios ^1.6.2
chalk ^5.3.0
commander ^11.1.0
configstore ^6.0.0
dotenv ^16.3.1
figlet ^1.6.0
inquirer ^9.2.10
ora ^7.0.1
yaml ^2.3.4

Development Dependencies

ID Version
@types/configstore ^6.0.0
@types/figlet ^1.5.5
@types/inquirer ^9.0.3
@types/node ^20.9.0
@typescript-eslint/eslint-plugin ^6.11.0
@typescript-eslint/parser ^6.11.0
@vitest/coverage-v8 ^0.34.6
eslint ^8.53.0
typescript ^5.2.2
vitest ^0.34.6

Keywords

deploy kubernetes helm cli
Details
npm
2026-05-28 06:54:35 +00:00
2
Deploy Platform Team
MIT
next
101 KiB
Assets (1)
cli-0.0.47.tgz 101 KiB
Versions (38) View all
0.0.47 2026-05-28
0.0.46 2026-05-26
0.0.45 2026-05-26
0.0.44 2026-05-26
0.0.43 2026-05-26