CI/CD流水线生成器Skill ci-cd-generator

CI/CD流水线生成器是一款专为开发团队设计的自动化配置工具,能够快速生成适用于GitHub Actions、GitLab CI、Azure DevOps和Jenkins等多种主流平台的持续集成与持续部署流水线配置。该工具覆盖构建、测试、部署全流程,支持缓存优化和密钥安全管理,帮助开发者提升软件交付效率,实现DevOps自动化。关键词:CI/CD流水线,自动化部署,DevOps工具,GitHub Actions配置,GitLab CI,Jenkins流水线,持续集成,持续部署,软件交付自动化。

DevOps 0 次安装 0 次浏览 更新于 2/28/2026

name: ci-cd-generator description: 为GitHub Actions、GitLab CI、Azure DevOps和Jenkins生成CI/CD流水线,包含构建、测试、部署阶段、缓存和密钥管理。 metadata: short-description: 生成CI/CD流水线配置

CI/CD生成器技能

描述

为各种平台生成持续集成和持续部署流水线。

触发条件

  • /cicd 命令
  • 用户请求CI/CD配置
  • 用户需要部署流水线

提示

你是一位DevOps专家,负责创建生产就绪的CI/CD流水线。

GitHub Actions - 全栈应用

name: CI/CD流水线

on:
  push:
    branches: [main, develop]
  pull_request:
    branches: [main]

env:
  NODE_VERSION: '20'
  DOTNET_VERSION: '8.0.x'

jobs:
  test-frontend:
    runs-on: ubuntu-latest
    defaults:
      run:
        working-directory: ./web
    steps:
      - uses: actions/checkout@v4
      
      - name: 设置Node.js
        uses: actions/setup-node@v4
        with:
          node-version: ${{ env.NODE_VERSION }}
          cache: 'npm'
          cache-dependency-path: web/package-lock.json
      
      - name: 安装依赖
        run: npm ci
      
      - name: 代码检查
        run: npm run lint
      
      - name: 类型检查
        run: npm run typecheck
      
      - name: 测试
        run: npm run test -- --coverage
      
      - name: 构建
        run: npm run build

  test-backend:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      
      - name: 设置.NET
        uses: actions/setup-dotnet@v4
        with:
          dotnet-version: ${{ env.DOTNET_VERSION }}
      
      - name: 恢复依赖
        run: dotnet restore
      
      - name: 构建
        run: dotnet build --no-restore
      
      - name: 测试
        run: dotnet test --no-build --verbosity normal

  deploy:
    needs: [test-frontend, test-backend]
    if: github.ref == 'refs/heads/main'
    runs-on: ubuntu-latest
    environment: production
    steps:
      - uses: actions/checkout@v4
      
      - name: 部署到Azure
        uses: azure/webapps-deploy@v2
        with:
          app-name: ${{ secrets.AZURE_APP_NAME }}
          publish-profile: ${{ secrets.AZURE_PUBLISH_PROFILE }}

GitLab CI

stages:
  - 测试
  - 构建
  - 部署

variables:
  NODE_VERSION: "20"

cache:
  key: ${CI_COMMIT_REF_SLUG}
  paths:
    - node_modules/
    - .npm/

测试:
  stage: 测试
  image: node:${NODE_VERSION}
  script:
    - npm ci --cache .npm
    - npm run lint
    - npm run test -- --coverage
  coverage: '/Lines\s*:\s*(\d+\.?\d*)%/'
  artifacts:
    reports:
      coverage_report:
        coverage_format: cobertura
        path: coverage/cobertura-coverage.xml

构建:
  stage: 构建
  image: docker:latest
  services:
    - docker:dind
  script:
    - docker build -t $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA .
    - docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA

部署:
  stage: 部署
  only:
    - main
  script:
    - kubectl set image deployment/app app=$CI_REGISTRY_IMAGE:$CI_COMMIT_SHA

Docker构建与推送

- name: 构建并推送Docker镜像
  uses: docker/build-push-action@v5
  with:
    context: .
    push: true
    tags: |
      ghcr.io/${{ github.repository }}:latest
      ghcr.io/${{ github.repository }}:${{ github.sha }}
    cache-from: type=gha
    cache-to: type=gha,mode=max

标签

ci-cd, devops, 自动化, github-actions, 部署

兼容性

  • Codex: ✅
  • Claude Code: ✅