返回顶部
i

inspirai-deploy智能部署工具

智能部署工具 - 自动检测部署策略,预检查、发布、监控一体化。支持 K8s/Helm、Docker Compose、Vercel、Fly.io。Triggers: '部署', 'deploy', '发布', '上线', '预检查', '部署监控', 'helm upgrade', 'docker compose up'.

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.0
安全检测
已通过
216
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

inspirai-deploy

inspirai-deploy - 智能部署工具

自动检测部署策略,执行预检查、发布、监控的一体化部署工具。支持 K8s/Helm、Docker Compose、Vercel、Fly.io。

Init

初始化部署配置

自动检测项目结构,生成 .deploy.yaml 配置文件。

使用方式

/deploy init # 自动检测并生成配置
/deploy init --strategy k8s # 指定策略

执行步骤

Step 1: 检测项目结构

bash
echo [INFO] 检测项目结构...

检测部署策略

DETECTED_STRATEGIES=

[ -d helm ] && DETECTEDSTRATEGIES=$DETECTEDSTRATEGIES k8s
[ -f docker-compose.yml ] && DETECTEDSTRATEGIES=$DETECTEDSTRATEGIES compose
[ -f docker-compose.prod.yml ] && DETECTEDSTRATEGIES=$DETECTEDSTRATEGIES compose
[ -f vercel.json ] && DETECTEDSTRATEGIES=$DETECTEDSTRATEGIES vercel
[ -f fly.toml ] && DETECTEDSTRATEGIES=$DETECTEDSTRATEGIES fly
[ -f Dockerfile ] && DETECTEDSTRATEGIES=$DETECTEDSTRATEGIES docker-ssh

echo [INFO] 检测到策略: $DETECTED_STRATEGIES

Step 2: 收集信息

使用 AskUserQuestion 确认或补充信息:

  1. 1. 策略选择 — 如果检测到多个,让用户选择
  2. 项目名称 — 从 package.json / go.mod / 目录名推断
  3. 环境列表 — 从 helm/environments 或询问用户

Step 3: 策略专属信息收集

K8s:

  • - 从 justfile/Makefile 提取 registry 信息
  • 从 helm/ 目录发现 chart 和 values
  • 从 .service-tags.json 或 services/ 发现组件
  • 从 helm/environments/ 发现环境配置

Compose:

  • - 解析 docker-compose.yml 中的 services
  • 检测远程部署目标(如有)

Vercel/Fly:

  • - 从 vercel.json / fly.toml 读取项目配置

Step 4: 生成 .deploy.yaml

K8s 模板:
yaml
strategy: k8s

project:
name: {project_name}
description: {description}

registry:
domain: {registry_domain}
namespace: {registry_namespace}
overrides:
prd: {vpc_registry}

components:
- name: {component}
path: services/{component}
image: {project}-{component}

environments:
dev:
cluster: {cluster}
namespace: {namespace}
context: {context}
prd:
cluster: {cluster}
namespace: {namespace}
context: {context}

commands:
build: {build_cmd}
push: {push_cmd}
deploy: {deploy_cmd}
config: {config_cmd}

helm:
chart_path: helm/{chart}
release_name: {release}

monitor:
interval: 5
timeout: 600
failure_threshold: 3

Compose 模板:
yaml
strategy: compose

project:
name: {project_name}

compose:
file: docker-compose.prod.yml
# 远程部署(可选)
host: {user}@{server}
path: /opt/{project_name}

environments:
dev:
file: docker-compose.yml
prd:
file: docker-compose.prod.yml

commands:
deploy: docker compose -f {file} up -d
logs: docker compose -f {file} logs -f

monitor:
interval: 5
timeout: 120

Vercel 模板:
yaml
strategy: vercel

project:
name: {project_name}

environments:
preview:
auto: true
prd:
branch: main
prod: true

commands:
deploy: vercel --prod
preview: vercel

Step 5: 确认配置

显示生成的配置文件,询问用户确认或修改。

输出

  • - 在项目根目录生成 .deploy.yaml
  • 建议将 .deploy.yaml 加入版本控制(不含敏感信息时)

注意事项

  • - 如果 .deploy.yaml 已存在,询问是否覆盖
  • 敏感信息(credentials、tokens)不写入配置文件
  • 配置文件中使用占位符的命令模板,实际值从环境变量读取

Check

部署预检查

执行部署前的预检查,确保所有条件就绪。

安全原则

只检查、只报告,不修改任何文件。 发现问题后提供修复建议,由用户决定是否执行。

使用方式

/deploy check [components...] [options]

选项:
--image-only 仅检查镜像
--config-only 仅检查配置
--connectivity-only 仅检查连通性
--strategy 指定策略

执行步骤

Step 1: 检测策略并加载配置

同 Run 部分的 Step 1。

Step 2: 通用检查

所有策略都执行的检查:

bash
echo [INFO] ========== 通用预检查 ==========

1. 环境变量检查

echo [CHECK] 环境变量...

检查 .env / .env.{env} 是否存在必需变量

2. Git 状态检查

echo [CHECK] Git 状态... UNCOMMITTED=$(git status --porcelain | wc -l | tr -d ) if [ $UNCOMMITTED -gt 0 ]; then echo [WARN] 有 $UNCOMMITTED 个未提交的变更 fi

3. 分支检查(生产环境)

if [ $ENV = prd ]; then BRANCH=$(git rev-parse --abbrev-ref HEAD) if [ $BRANCH != main ] && [ $BRANCH != master ]; then echo [WARN] 当前分支 $BRANCH 不是主分支 fi fi

Step 3: 策略专属检查

K8s 策略:

bash
echo [INFO] ========== K8s 预检查 ==========

1. 镜像推送检查

echo [CHECK] 镜像推送状态... for comp in $COMPONENTS; do tag=$(getversiontag $comp $ENV) image=$REGISTRY/$NAMESPACE/${comp}:${tag} if docker manifest inspect $image &>/dev/null; then echo ✓ $comp: $tag else echo ✗ $comp: $tag (未推送) FAILED=true fi done

2. 配置同步检查

echo [CHECK] 配置同步...

渲染本地 Helm values vs 集群 ConfigMap/Secret

对比 data 字段差异

3. 集群连通性

echo [CHECK] 集群连通性... kubectl cluster-info $KUBECTL_ARGS &>/dev/null || echo [ERROR] 无法连接集群

4. Namespace 存在性

kubectl get namespace $NAMESPACE $KUBECTL_ARGS &>/dev/null || echo [ERROR] Namespace $NAMESPACE 不存在

Compose 策略:

bash
echo [INFO] ========== Compose 预检查 ==========

1. 镜像构建检查

echo [CHECK] 镜像构建... docker compose config --quiet || echo [ERROR] compose 配置无效

2. 目标主机连通性(远程部署时)

if [ -n $DEPLOY_HOST ]; then echo [CHECK] 远程主机连通性... ssh -o ConnectTimeout=5 $DEPLOYHOST echo ok || echo [ERROR] 无法连接 $DEPLOYHOST fi

3. 磁盘空间

echo [CHECK] 磁盘空间... docker system df

Vercel/Fly 策略:

bash
echo [INFO] ========== 平台预检查 ==========

1. CLI 登录状态

echo [CHECK] 登录状态... vercel whoami || fly auth whoami || echo [ERROR] 未登录

2. 项目链接

echo [CHECK] 项目链接...

检查是否已 link 到远程项目

Step 4: 输出报告

========== 预检查报告 ==========

环境

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 inspirai-deploy-1776071162 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 inspirai-deploy-1776071162 技能

通过命令行安装

skillhub install inspirai-deploy-1776071162

下载

⬇ 下载 inspirai-deploy v1.0.0(免费)

文件大小: 6.95 KB | 发布时间: 2026-4-15 13:05

v1.0.0 最新 2026-4-15 13:05
Initial release - 智能部署工具

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部