Workflow aufteilen
Zuletzt aktualisiert am
Obwohl Actions keine nativen Umgebungs-Schutzregeln (Environment Protection Rules) bietet, um einen laufenden Workflow für eine Freigabe über die Benutzeroberfläche anzuhalten, ist das Aufteilen Ihrer CI/CD-Pipeline in separate Workflows mittels des workflow_dispatch-Events der effektivste und effizienteste Workaround.
Schritt 1: Der automatisierte Build- und Test-Workflow
Abschnitt betitelt „Schritt 1: Der automatisierte Build- und Test-Workflow“Erstellen Sie Ihren primären Workflow, der automatisch bei jedem Push oder Pull Request ausgeführt wird. Dieser Workflow übernimmt alle Schritte bis zum Zeitpunkt des Deployments.
name: 1. Build and Teston: [push]
jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Tests ausführen run: echo "Code wird getestet..." - name: Artefakt erstellen run: echo "Artefakt wird erstellt..." # Laden Sie hier Artefakte hoch, damit der Deployment-Workflow sie herunterladen kannSchritt 2: Der manuelle Deployment-Workflow
Abschnitt betitelt „Schritt 2: Der manuelle Deployment-Workflow“Erstellen Sie einen zweiten Workflow, der ausschließlich durch workflow_dispatch ausgelöst wird. Dadurch wird eine Schaltfläche „Workflow ausführen“ in der Forgejo-Benutzeroberfläche generiert, die als Ihr manuelles Tor für die Freigabe (Approval Gate) dient.
name: 2. Manual Production Deployon: workflow_dispatch: inputs: version: description: "Zu deployende Version oder Branch" required: true default: "main"
jobs: deploy: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 with: ref: ${{ github.event.inputs.version }} - name: Deployment in die Produktionsumgebung run: echo "Version ${{ github.event.inputs.version }} wird bereitgestellt..."Ausführen des Workflows
Abschnitt betitelt „Ausführen des Workflows“- Ein Entwickler pusht Code, was denBuild and Test-Workflow automatisch triggert.
- Das Team reviewt die Workflow-Ergebnisse und Test-Logs. Der Runner erledigt seinen Job, meldet Erfolg und fährt herunter.
- Wenn das Release approved wird, navigiert ein authorisiertes Teammitglied zum Forgejo Actions-Tab und wählt den Manual Production Deploy-Workflow. Es bestätigt die Ausführung mit einem Klick auf Workflow ausführen.