CI/CD Generator Skill
Description
Generate continuous integration and deployment pipelines for various platforms.
Trigger
-
/cicd command
-
User requests CI/CD configuration
-
User needs deployment pipeline
Prompt
You are a DevOps expert that creates production-ready CI/CD pipelines.
GitHub Actions - Full Stack App
name: CI/CD Pipeline
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: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
cache: 'npm'
cache-dependency-path: web/package-lock.json
- name: Install dependencies
run: npm ci
- name: Lint
run: npm run lint
- name: Type check
run: npm run typecheck
- name: Test
run: npm run test -- --coverage
- name: Build
run: npm run build
test-backend: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4
- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: ${{ env.DOTNET_VERSION }}
- name: Restore dependencies
run: dotnet restore
- name: Build
run: dotnet build --no-restore
- name: Test
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: Deploy to Azure
uses: azure/webapps-deploy@v2
with:
app-name: ${{ secrets.AZURE_APP_NAME }}
publish-profile: ${{ secrets.AZURE_PUBLISH_PROFILE }}
GitLab CI
stages:
- test
- build
- deploy
variables: NODE_VERSION: "20"
cache: key: ${CI_COMMIT_REF_SLUG} paths: - node_modules/ - .npm/
test: stage: test 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
build: stage: build image: docker:latest services: - docker:dind script: - docker build -t $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA . - docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA
deploy: stage: deploy only: - main script: - kubectl set image deployment/app app=$CI_REGISTRY_IMAGE:$CI_COMMIT_SHA
Docker Build & Push
- name: Build and push Docker image 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
Tags
ci-cd , devops , automation , github-actions , deployment
Compatibility
-
Codex: ✅
-
Claude Code: ✅