Gerador de Fluxos de Trabalho YAML para GitHub Actions CI/CD
Crie pipelines YAML de fluxo de trabalho do GitHub Actions prontos para produção para Node.js, Go, Python, builds Docker, testes automatizados e releases contínuas.
name: Node.js CI/CD Pipeline
on:
push:
branches:
- 'main'
- 'master'
pull_request:
branches:
- 'main'
- 'master'
workflow_dispatch:
release:
types: [published]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
permissions:
contents: write
jobs:
build-and-test:
name: NODE Test & Build
runs-on: ubuntu-latest
timeout-minutes: 20
strategy:
fail-fast: false
matrix:
node-version: ['18.x', '20.x', '22.x']
steps:
- name: Checkout code repository
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Install pnpm package manager
uses: pnpm/action-setup@v4
with:
version: 'latest'
- name: Set up Node.js runtime environment
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: 'pnpm'
- name: Install project dependencies
run: pnpm install --frozen-lockfile
- name: Run code linter and style check
run: pnpm run lint
- name: Run static typecheck
run: pnpm run typecheck
- name: Run automated test suite
run: pnpm test -- --coverage
- name: Compile and build production bundle
run: pnpm run build
- name: Upload build artifact
uses: actions/upload-artifact@v4
with:
name: node-js-ci-cd-pipeline-artifact
path: dist/
retention-days: 7
- name: Create GitHub Release on tag
if: startsWith(github.ref, 'refs/tags/')
uses: softprops/action-gh-release@v2
with:
generate_release_notes: true
files: dist/**
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Compilação Local sem Latência
Gera fluxos de trabalho robustos do GitHub Actions na memória do navegador sem enviar arquiteturas de código para servidores externos.
Endurecimento de Segurança Corporativo
Aplica privilégios mínimos de token, cancelamento de execuções concorrentes, timeouts e fixação de versões contra ataques à cadeia de suprimentos.
Suporte Multi-Linguagem e Estratégia de Matriz
Modelos ajustados para Node.js, Python, Go, Rust, Docker e GitHub Pages com cache inteligente de gerenciadores de pacotes.