DevOps Fortgeschritten
GitHub Actions — Erweiterte Workflows¶
GitHub ActionsCI/CDAutomatisierung 6 Min. Lesezeit
Erweiterte GitHub Actions Techniken: Matrix Builds, Reusable Workflows, Composite Actions und Self-Hosted Runners.
Matrix Builds¶
Die Matrix-Strategie ermöglicht parallele Testläufe über verschiedene Versionen und Plattformen.
jobs:
test:
strategy:
matrix:
node: [18, 20, 22]
os: [ubuntu-latest, macos-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node }}
- run: npm ci && npm test
Reusable Workflows¶
Das Teilen von Workflows über Repositories hinweg eliminiert Duplizierung. Definieren Sie einen Workflow im zentralen Repo und rufen Sie ihn über workflow_call auf.
on:
workflow_call:
inputs:
environment:
required: true
type: string
secrets:
DEPLOY_KEY:
required: true
jobs:
deploy:
runs-on: ubuntu-latest
environment: ${{ inputs.environment }}
steps:
- uses: actions/checkout@v4
- run: ./deploy.sh
env:
KEY: ${{ secrets.DEPLOY_KEY }}
Composite Actions¶
Composite Actions kombinieren mehrere Schritte zu einer wiederverwendbaren Aktion mit eigenen Ein- und Ausgaben.
name: Build and Push
inputs:
image:
required: true
runs:
using: composite
steps:
- run: docker build -t ${{ inputs.image }} .
shell: bash
- run: docker push ${{ inputs.image }}
shell: bash
Self-Hosted Runners¶
Für spezifische Hardware-Anforderungen oder private Netzwerke setzen Sie eigene Runner ein. Verwenden Sie actions-runner-controller für Kubernetes-natives Scaling.
apiVersion: actions.summerwind.dev/v1alpha1
kind: RunnerDeployment
metadata:
name: k8s-runners
spec:
replicas: 3
template:
spec:
repository: org/repo
labels:
- self-hosted
- linux
Zusammenfassung¶
GitHub Actions ist eine äußerst flexible CI/CD-Plattform. Matrix Builds, Reusable Workflows und Composite Actions reduzieren Duplizierung drastisch und beschleunigen die Feedback-Schleife.
Brauchen Sie Hilfe bei der Implementierung?¶
Unser Team hat Erfahrung mit dem Entwurf und der Implementierung moderner Architekturen. Wir helfen Ihnen gerne.