SuperAPI AI Directory

ci-cd-generator

Deployment & operations

View repository

Updated 10-15 16:43

About this skill

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

```yaml
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: ✅