mcpField
L
launch-trigger-and-monitor-launch-deployments

launch-trigger-and-monitor-launch-deployments

github.com/contentstack云与 DevOps584 次安装1 周前更新
代码仓库

关于 launch-trigger-and-monitor-launch-deployments

面向运维人员和 CI/CD 工作流的技能,可启动 Contentstack Launch 部署、跟踪至终态,并在失败时分析日志。每次部署均须明确确认,生产环境还需额外验证。

主要功能

  1. 01通过 Launch API 触发部署
  2. 02每 10 秒轮询状态
  3. 03失败时获取并总结日志
  4. 04失败或取消时以非零状态退出
  5. 05要求确认并验证部署目标

适用场景

  1. 01跟踪 staging 部署直至完成
  2. 02定位部署失败的可能原因
  3. 03将经确认的部署检查加入 CI/CD 工作流

MCP 相关

该技能使用 Launch API 触发部署并检查状态,还会获取部署详情以分析失败原因。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/contentstack/contentstack-agent-skills --skill launch-trigger-and-monitor-launch-deployments

安装后在 Claude Code 中输入/launch-trigger-and-monitor-launch-deployments确认已加载。

详细介绍

触发并监控 Launch 部署

描述

为指定环境触发 Launch 部署,然后轮询其状态,直到完成。如果部署失败或被取消,则获取部署日志并诊断可能原因,同时提供后续建议。

适用场景

当你需要为已知项目和环境自动执行 Launch 部署、监控进度并提供失败诊断时使用。适用于需要确定性部署状态检查和基于日志排查问题的 CI/CD 或运维工作流。

用户问题

用户需要一种可靠的方式来启动 Launch 部署、跟踪其进度直至完成,并在部署失败时快速了解原因。此技能应减少手动轮询,并帮助用户采取行动处理部署故障。

成功标准

针对预期项目和环境触发部署。 以固定间隔轮询状态,直至达到终态。 部署失败或被取消时,进程以非零代码退出。 部署失败时,获取部署日志,并总结可能原因和后续步骤。 每次部署触发前都必须明确确认项目和环境;对于生产目标,还需额外验证。

预期输入

  • project_uid
  • environment_uid
  • 可选的部署负载或构建引用
  • 每次部署前的明确确认(无论是否为生产环境)
  • 关于应用、分支或构建来源的任何可用背景信息

预期输出

  • 部署 UID 和初始触发响应
  • 轮询过程中的当前状态更新
  • 终态和退出代码
  • 发生故障时的部署日志摘要
  • 建议的后续步骤和可能的根本原因

用户请求示例

  • 为项目 abc123 在环境 prod456 中触发部署,并监控直至完成。
  • 将最新构建部署到暂存环境,并在失败时告知我。
  • 如果部署失败,请检查日志并说明问题所在。
  • 每隔 10 秒轮询一次 Launch 部署,并在失败时以非零代码退出。

工作流摘要

验证项目和环境标识符。 确认目标获准后,在触发此次部署前取得明确批准,无论目标环境为何。 使用 Launch API 触发部署。 每隔 10 秒轮询部署状态,直至达到终态。 如果状态为 failed 或 cancelled,则获取并分析部署日志。 返回简明摘要,包含状态、日志发现和建议的后续步骤。

说明

触发部署

使用所需负载调用 POST /projects/{project_uid}/environments/{environment_uid}/deployments。发送请求前验证目标环境。

轮询状态

每隔 10 秒检查一次部署状态。持续轮询,直至部署达到终态或检测到失败情况。

快速失败

如果状态变为 failed 或 cancelled,则以非零代码退出。达到终态失败状态后,不要继续轮询。

失败时获取日志

如果部署失败,则调用 GET /projects/{project_uid}/environments/{environment_uid}/deployments/{deployment_uid} 并检查部署日志详情。

诊断并提出建议

根据日志总结最可能的原因,指出缺少的前置条件或配置问题,并建议下一项纠正操作。

输出格式

首先返回简明的部署摘要。 包含部署 UID、环境 UID 和最终状态。 失败时,提供简短的日志诊断和后续步骤。 不要泄露部署令牌、密钥或环境变量。 部署失败或被取消时,使用非零退出代码。

工具说明

使用 Launch API 触发部署并检查状态。 使用部署详情/日志端点分析失败原因。 部署前验证目标环境。 每次部署前都必须获得明确确认;生产环境还需要额外检查。 未经审核,绝不自动部署到生产环境。

安全

默认规则
  • 绝不泄露部署令牌或环境机密。
  • 触发部署前验证部署目标。
  • 每次部署前都必须获得明确确认。
  • 未经审核,绝不自动部署到生产环境。
破坏性操作

将部署触发视为外部副作用。触发任何部署前,都必须获得用户的明确确认。监控或诊断现有部署的请求绝不会触发新部署。除非用户提出要求且目标为非生产环境,否则不要自动重试失败的部署。

机密

绝不打印、记录或回显 API 令牌、部署令牌或环境机密。从错误、日志和摘要中删除敏感值。

环境变量

必要时通过环境变量接受配置,但绝不泄露其值。尝试部署前,验证所需变量是否存在。

产品背景

    • 产品:Launch
    • 描述:Contentstack Launch:为基于 Contentstack 的前端提供托管、部署、边缘交付、无服务器函数、环境管理和 CI/CD。
    • 产品安全规则:- 绝不泄露部署令牌或环境机密。
  • 触发部署前验证部署目标。
  • 每次部署前都必须获得明确确认。
  • 未经审核,绝不自动部署到生产环境。
    • 默认工具:["Launch API", "Projects", "Environments", "Deployments", "Serverless Functions", "Edge Delivery", "Custom Domains"]
    • 默认连接器:["Launch Proxy", "GitHub", "CI/CD Pipelines"]

示例

触发并监控部署(少样本示例 *)

用户: 将项目 abc123 部署到环境 staging456,并持续轮询,直到部署完成。

助手: 1. 验证项目和环境。 2. 通过 POST /projects/abc123/environments/staging456/deployments 触发部署。 3. 每 10 秒轮询一次状态。 4. 如果部署状态变为 failed 或 cancelled,获取部署日志并总结原因。 5. 返回最终状态;如果失败,则以非零状态码退出。

展示触发 → 轮询 → 快速失败 → 诊断的行为。

需要确认生产部署(边缘情况示例 *)

用户: 现在部署到生产环境。

助手: 我可以执行,但生产环境部署需要明确确认。请确认确切的项目和环境 UID,然后我再继续。

展示生产环境安全关卡。

评论

支持 Markdown