
รber grundlegendes CI hinaus,GitHub-Aktionenunterstรผtzt wiederverwendbare Workflows, zusammengesetzte Aktionen, dynamische Matrizen und OIDC-Authentifizierung. Dieser Leitfaden behandelt fortgeschrittene Muster, die von Entwicklungsteams im Jahr 2026 im groรen Maรstab verwendet werden.
๐ Table of Contents
Wiederverwendbare Arbeitsablรคufe
# .github/workflows/reusable-test.yml
on:
workflow_call:
inputs:
python-version:
required: true
type: string
secrets:
codecov-token:
required: true
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: ${{ inputs.python-version }}
- run: pip install -r requirements.txt && pytest --cov
# Caller workflow
jobs:
run-tests:
uses: ./.github/workflows/reusable-test.yml
with:
python-version: '3.12'
secrets:
codecov-token: ${{ secrets.CODECOV_TOKEN }}
Dynamische Matrix (zur Laufzeit generiert)
jobs:
generate-matrix:
runs-on: ubuntu-latest
outputs:
matrix: ${{ steps.set-matrix.outputs.matrix }}
steps:
- uses: actions/checkout@v4
- id: set-matrix
run: |
SERVICES=$(ls services/ | jq -R -s -c 'split("\n")[:-1]')
echo "matrix={\"service\":$SERVICES}" >> $GITHUB_OUTPUT
build:
needs: generate-matrix
strategy:
matrix: ${{ fromJson(needs.generate-matrix.outputs.matrix) }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: docker build services/${{ matrix.service }}
OIDC-Authentifizierung (keine langlebigen Geheimnisse)
Verwenden Sie OIDC, um ein kurzlebiges GitHub-Token gegen Cloud-Anmeldeinformationen auszutauschen. Keine gespeicherten Geheimnisse erforderlich.
permissions:
id-token: write
contents: read
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Configure AWS (OIDC)
uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: arn:aws:iam::123456789:role/GitHubActionsRole
aws-region: us-east-1
- run: aws ecs update-service --cluster prod --service myapp --force-new-deployment
Umweltschutzvorschriften
jobs:
staging:
environment: staging
runs-on: ubuntu-latest
steps:
- run: ./deploy.sh staging
production:
environment: production # requires manual approval
needs: staging
runs-on: ubuntu-latest
steps:
- run: ./deploy.sh production
Zusammengesetzte Aktionen
# .github/actions/setup-project/action.yml
name: Setup Project
inputs:
python-version:
default: '3.12'
runs:
using: composite
steps:
- uses: actions/setup-python@v5
with:
python-version: ${{ inputs.python-version }}
- uses: actions/cache@v4
with:
path: ~/.cache/pip
key: pip-${{ hashFiles('requirements.txt') }}
- run: pip install -r requirements.txt
shell: bash
Fazit
Wiederverwendbare Workflows verhindern Duplikate zwischen Repos. Durch OIDC entfรคllt die Notwendigkeit, langlebige Cloud-Anmeldeinformationen als Geheimnisse zu speichern. Umweltschutzvorschriften sehen vor, dass Produktionseinsรคtze der Zustimmung des Menschen unterliegen. Diese drei Muster sind fรผr jedes Ingenieurteam im Jahr 2026 unverzichtbar.
๐ Share this article
โ๏ธ Leave a Comment