mcpField
C
ci-cd-pipeline-builder

ci-cd-pipeline-builder

github.com/alirezarezvani云与 DevOps28.9k689 次安装2 天前更新
代码仓库

关于 ci-cd-pipeline-builder

面向工程团队的技能,可依据仓库文件识别技术栈,并生成适配项目的 CI/CD 流水线。支持 GitHub Actions 和 GitLab CI,输出可供自动化处理的检测结果。

主要功能

  1. 01从仓库文件检测语言与工具链
  2. 02建议 lint、test、build、deploy 阶段
  3. 03生成 GitHub Actions 或 GitLab CI 配置
  4. 04支持缓存与矩阵策略
  5. 05输出机器可读的检测结果

适用场景

  1. 01为新仓库搭建 CI 流水线
  2. 02迁移 GitHub Actions 与 GitLab CI
  3. 03检查流水线步骤是否匹配项目技术栈
  4. 04生成部署前的可复现基线

安装

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

$npx skills add https://github.com/alirezarezvani/claude-skills --skill ci-cd-pipeline-builder

安装后在 Claude Code 中输入/ci-cd-pipeline-builder确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

README.md
references/
deployment-gates.md
github-actions-templates.md
gitlab-ci-templates.md
pipeline-design-notes.md
scripts/
pipeline_generator.py
stack_detector.py

详细介绍

CI/CD 流水线构建器

层级: POWERFUL
分类: Engineering
领域: DevOps / Automation

概述

使用此技能,可以根据检测到的项目技术栈信号生成务实的 CI/CD 流水线,而不是凭猜测。它专注于快速生成基线、可重复的检查,以及感知环境的部署阶段。

核心能力

  • 从代码仓库文件中检测语言/运行时/工具链
  • 推荐 CI 阶段(lint、test、build、deploy)
  • 生成 GitHub Actions 或 GitLab CI 入门流水线
  • 根据检测到的技术栈配置缓存和矩阵策略
  • 输出机器可读的检测结果,供自动化使用
  • 保持流水线逻辑与项目锁文件和构建命令一致

适用场景

  • 为新代码仓库搭建 CI
  • 替换脆弱的复制流水线文件
  • 在 GitHub Actions 与 GitLab CI 之间迁移
  • 审计流水线步骤是否与实际技术栈一致
  • 在进行自定义加固之前,创建可复现的基线

关键工作流

1. 检测技术栈
python3 scripts/stack_detector.py --repo . --format text
python3 scripts/stack_detector.py --repo . --format json > detected-stack.json

支持通过 stdin 或 --input 文件输入,用于离线分析负载。

2. 根据检测结果生成流水线
python3 scripts/pipeline_generator.py \
  --input detected-stack.json \
  --platform github \
  --output .github/workflows/ci.yml \
  --format text

或者直接从代码仓库端到端执行:

python3 scripts/pipeline_generator.py --repo . --platform gitlab --output .gitlab-ci.yml
3. 合并前验证
  1. 确认项目中存在对应命令(test、lint、build)。
  2. 尽可能在本地运行生成的流水线。
  3. 确保所需的 secrets/环境变量已有文档说明。
  4. 让部署任务受保护分支/环境的门禁约束。
4. 安全地添加部署阶段
  • 先从仅 CI(lint/test/build)开始。
  • 添加带有明确环境上下文的预发布部署。
  • 添加带有手动门禁/审批的生产部署。
  • 保持发布/回滚命令明确且可审计。

脚本接口

  • python3 scripts/stack_detector.py --help
    • 从代码仓库文件中检测技术栈信号
    • 从 stdin/--input 读取可选的 JSON 输入
  • python3 scripts/pipeline_generator.py --help
    • 根据检测负载生成 GitHub/GitLab YAML
    • 输出到 stdout 或 --output

参考资料

评论

支持 Markdown