Générateur de Pipeline YAML pour GitHub Actions CI/CD
Créez des pipelines YAML GitHub Actions prêts pour la production pour Node.js, Go, Python, conteneurs Docker, tests unitaires et déploiements automatisés.
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 }}
Génération Locale sans Latence
Concevez des workflows GitHub Actions sécurisés directement dans la mémoire de votre navigateur sans exposer vos dépôts.
Sécurité & Durcissement d'Entreprise
Applique le principe du moindre privilège pour GITHUB_TOKEN, annulation des runs concurrents, timeouts et épinglage des versions d'actions.
Support Multi-Langage & Matrices de Test
Modèles d'intégration continue taillés pour Node.js, Python, Go, Rust, Docker et GitHub Pages avec mise en cache automatisée.