GitHub Actions CI/CD Workflow YAML Generator
Erstellen Sie produktionsreife GitHub Actions Workflow-YAML-Pipelines für Node.js, Go, Python, Docker-Builds, Tests und automatisierte Releases mit Best-Practice-Sicherheit.
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 }}
Lokale Generierung ohne Latenz
Erstellt gehärtete GitHub Actions Workflows direkt im Browserspeicher, ohne dass vertrauliche Repository-Konfigurationen übertragen werden.
Enterprise Sicherheits-Härtung
Erzwingt Least-Privilege-Berechtigungen, parallele Auftragsabbrüche, Job-Timeouts und Versions-Pinning gegen Supply-Chain-Risiken.
Mehrsprachige Matrix-Unterstützung
Optimierte Vorlagen für Node.js, Python, Go, Rust, Docker und GitHub Pages mit automatischer Paketverwaltung und Cache.