mcpField
C
ci-cd-pipelines

ci-cd-pipelines

github.com/itallstartedwithaidea云与 DevOps4478 次安装29 周前更新
代码仓库

关于 ci-cd-pipelines

用于通过 GitHub Actions 定义 CI/CD 工作流的技能,尤其面向 Cloudflare Workers 和 Pages 项目。内容涵盖验证门槛、预览与暂存部署、生产环境发布以及回滚流程。

主要功能

  1. 01配置 GitHub Actions 工作流
  2. 02验证 HTML 和链接
  3. 03验证 JSON-LD
  4. 04检查 Lighthouse 性能
  5. 05暂存与预览部署
  6. 06使用 wrangler 回滚

适用场景

  1. 01为 Cloudflare 项目设置 CI/CD
  2. 02验证生成页面和站内链接
  3. 03通过预览部署测试拉取请求
  4. 04依据验证结果控制生产发布

安装

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

$npx skills add https://github.com/itallstartedwithaidea/agent-skills --skill ci-cd-pipelines

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

详细介绍

CI/CD 流水线

属于 Agent Skills™,由 googleadsagent.ai™ 提供

描述

CI/CD 流水线使用 GitHub Actions 和 wrangler deploy 定义生产级持续集成与部署工作流,包括链接验证、HTML 验证和自动化质量门禁。此技能将 googleadsagent.ai™ 用于部署 Workers、验证 18,000+ 个生成内容页面并维持生产环境零停机发布的实际 CI/CD 模式编码其中。

CI 流水线的价值取决于它的门禁。此技能不止于“运行测试并部署”,还包括 HTML 验证(确保生成的页面没有损坏的标记)、内部链接检查(确保城市 × 服务矩阵中没有失效链接)、结构化数据验证(符合 JSON-LD 架构)和 Lighthouse 性能审计。每次合并到 main 都会触发一系列验证步骤,在回归问题进入生产环境之前将其捕获。

部署流水线采用渐进式发布:先部署到暂存环境,再对暂存环境运行完整验证套件,只有全部通过才晋级到生产环境,并通过 wrangler rollback 保留即时回滚能力。拉取请求的预览部署会提供可供审阅者测试更改的实时 URL,以便在批准前进行验证。

使用场景

  • 为 Cloudflare Workers 或 Pages 项目设置 CI/CD
  • 在流水线中添加 HTML 验证或链接检查
  • 实施包含暂存环境和生产环境的渐进式部署
  • 为内容密集型网站自动化质量门禁
  • 为拉取请求配置预览部署
  • 在部署工作流中构建回滚能力

工作原理

graph TD
    A[Push to Branch] --> B[GitHub Actions Trigger]
    B --> C[Install Dependencies]
    C --> D[Run Unit Tests]
    D --> E[Run Type Checking]
    E --> F{Branch?}
    F -->|PR| G[Deploy to Preview]
    F -->|main| H[Deploy to Staging]
    G --> I[Run Link Checker on Preview]
    H --> J[Run Full Validation Suite]
    J --> K[HTML Validation]
    J --> L[Link Checking]
    J --> M[JSON-LD Validation]
    J --> N[Lighthouse Audit]
    K --> O{All Green?}
    L --> O
    M --> O
    N --> O
    O -->|Yes| P[Promote to Production]
    O -->|No| Q[Block + Notify]
    I --> R[Comment PR with Preview URL]

流水线会并行执行多项验证(HTML、链接、JSON-LD、Lighthouse),并根据汇总结果设置门禁。只有所有门禁都通过后,才会晋级到生产环境。

实施

name: CI/CD Pipeline
on:
  push:
    branches: [main]
  pull_request:
    branches: [main]

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with: { node-version: "20" }
      - run: npm ci
      - run: npx tsc --noEmit
      - run: npm test

  deploy-staging:
    needs: test
    if: github.ref == 'refs/heads/main'
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with: { node-version: "20" }
      - run: npm ci
      - run: npx wrangler deploy --env staging
        env:
          CLOUDFLARE_API_TOKEN: ${{ secrets.CF_API_TOKEN }}

  validate:
    needs: deploy-staging
    runs-on: ubuntu-latest
    strategy:
      matrix:
        check: [html, links, jsonld, lighthouse]
    steps:
      - uses: actions/checkout@v4
      - name: HTML Validation
        if: matrix.check == 'html'
        run: |
          npx html-validate "https://staging.googleadsagent.ai" \
            --config .htmlvalidate.json
      - name: Link Checking
        if: matrix.check == 'links'
        run: |
          npx linkinator https://staging.googleadsagent.ai \
            --recurse --timeout 30000 \
            --skip "^https://(?!staging\.googleadsagent\.ai)"
      - name: JSON-LD Validation
        if: matrix.check == 'jsonld'
        run: node scripts/validate-jsonld.js --base-url=https://staging.googleadsagent.ai
      - name: Lighthouse Audit
        if: matrix.check == 'lighthouse'
        run: |
          npx lhci autorun --config=lighthouserc.json \
            --collect.url=https://staging.googleadsagent.ai

  deploy-production:
    needs: validate
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with: { node-version: "20" }
      - run: npm ci
      - run: npx wrangler deploy --env production
        env:
          CLOUDFLARE_API_TOKEN: ${{ secrets.CF_API_TOKEN }}

最佳实践

  • 使用矩阵策略并行运行验证检查,以尽量缩短流水线运行时间
  • 保存先前的部署版本,以便通过 wrangler rollback 即时回滚
  • 在作业之间缓存 node_modules 和构建产物,以减少安装时间
  • 设置 Lighthouse 性能预算,并在出现回归时让流水线失败
  • 使用 OIDC 令牌,而非长期有效的 API 令牌进行 Cloudflare 身份验证
  • 将流水线运行时间作为指标进行监控——缓慢的流水线会降低部署频率

平台兼容性

平台支持情况备注
Cursor完全支持编写 GitHub Actions
VS Code完全支持GitHub Actions 扩展
Windsurf完全支持CI/CD 工作流支持
Claude Code完全支持YAML 生成与验证
Cline完全支持流水线配置
aider完全支持YAML 文件编辑

相关技能

关键词

ci-cd github-actions wrangler-deploy html-validation link-checking lighthouse progressive-deployment quality-gates


© 2026 googleadsagent.ai™ | Agent Skills™ | MIT License

评论

支持 Markdown