← ClaudeAtlas

build-ci-cd-pipelinelisted

Design and implement multi-stage CI/CD pipelines using GitHub Actions with matrix builds, dependency caching, artifact management, and secret handling. Create workflows that span linting, testing, building, and deployment stages with parallel execution and conditional logic. Use when setting up automated testing and deployment for a new project, migrating from Jenkins or CircleCI to GitHub Actions, implementing matrix builds across platforms, adding build caching, or creating multi-stage pipelines with security scanning and quality gates.
pjt222/agent-almanac · ★ 33 · DevOps & Infrastructure · score 81
Install: claude install-skill pjt222/agent-almanac
# Build CI/CD Pipeline Design and implement production-grade continuous integration and deployment pipelines with GitHub Actions. ## When to Use - Setting up automated testing and deployment for a new project - Migrating from Jenkins, Travis CI, or CircleCI to GitHub Actions - Implementing matrix builds across multiple platforms or language versions - Adding build caching to speed up CI/CD execution time - Creating multi-stage pipelines with environment-specific deployments - Implementing security scanning and code quality gates ## Inputs - **Required**: Repository with code to test/build/deploy - **Required**: GitHub Actions workflow directory (`.github/workflows/`) - **Optional**: Secrets for deployment targets (AWS, Azure, Docker registries) - **Optional**: Self-hosted runner configuration for specialized builds - **Optional**: Branch protection rules and required status checks ## Procedure ### Step 1: Create Base Workflow Structure Create `.github/workflows/ci.yml` with trigger configuration and basic job structure. ```yaml name: CI Pipeline on: push: branches: [main, develop] pull_request: branches: [main, develop] workflow_dispatch: # Manual trigger env: NODE_VERSION: '18' REGISTRY: ghcr.io IMAGE_NAME: ${{ github.repository }} jobs: lint: name: Lint Code runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - name: Setup Node.js uses: actions/setup-node@v4 with: