Informationen zu benutzerdefinierten Workflows
Benutzerdefinierte Workflows ermöglichen das Erstellen von GitHub Pages-Websites mithilfe von GitHub Actions. Du kannst den Branch, den du verwenden möchtest, weiterhin über die Workflowdatei auswählen. Mit benutzerdefinierten Workflows hast du jedoch noch viel mehr Möglichkeiten. Um mit der Verwendung benutzerdefinierter Workflows zu beginnen, musst du sie zuerst für dein aktuelles Repository aktivieren. Weitere Informationen finden Sie unter AUTOTITLE.
Konfigurieren der Aktion
GitHub Actions ermöglicht die Verwendung von GitHub Pages über die Aktion , mit der du auch verschiedene Metadaten zu einer Website sammeln kannst. Weitere Informationen finden Sie unter der Aktion .
Um die Aktion zu verwenden, füge diesen Codeschnipsel im gewünschten Workflow ein:
- name: Configure GitHub Pages
uses: actions/configure-pages@v5
Diese Aktion vereinfacht die Bereitstellung von GitHub Pages aus jedem Generator für statische Websites. Um diesen Prozess weniger repetitiv zu gestalten, können Sie Workflowvorlagen für einige der am häufigsten verwendeten Generatoren für statische Websites verwenden. Weitere Informationen finden Sie unter AUTOTITLE.
Konfigurieren der Aktion
Mit diesen Aktionen kannst du Artefakte verpacken und hochladen. Das GitHub Pages-Artefakt sollte ein komprimiertes Archiv sein, das eine einzelne Datei enthält. Die Datei muss kleiner als 10 GB sein und darf keine symbolischen oder festen Verknüpfungen enthalten. Weitere Informationen finden Sie unter der Aktion .
Um die Aktion in deinem aktuellen Workflow zu verwenden, füge das folgende Codeschnipsel unter ein:
- name: Upload GitHub Pages artifact
uses: actions/upload-pages-artifact@v2
Bereitstellung von GitHub Pages-Artifakten
Die Aktion führt das erforderliche Setup für die Bereitstellung von Artefakten aus. Um die ordnungsgemäße Funktionalität sicherzustellen, müssen die folgenden Anforderungen erfüllt sein:
- Der Auftrag muss mindestens über die Berechtigungen und verfügen.
- Der Parameter muss auf die ID des Buildschritts festgelegt werden. Wenn dieser Parameter nicht festgelegt wird, kann dies zu einer unabhängigen Bereitstellung führen, die kontinuierlich nach einem nicht erstellten Artefakt sucht.
- Ein Mechanismus muss eingerichtet werden, um Branch-/Deploymentschutzregeln durchzusetzen. Die Standardumgebung ist .
- Verwende das Feld , um die URL der Seite als Ausgabe anzugeben.
Weitere Informationen finden Sie unter der Aktion .
# ...
jobs:
deploy:
permissions:
contents: read
pages: write
id-token: write
runs-on: ubuntu-latest
needs: jekyll-build
environment:
name: github-pages
url: ${{steps.deployment.outputs.page_url}}
steps:
- name: Deploy artifact
id: deployment
uses: actions/deploy-pages@v3
# ...
Verknüpfen getrennter Build- und Deploy-Aufträge
Du kannst deine - und -Aufträge in einer einzelnen Workflowdatei verknüpfen, sodass nicht mehr zwei separate Dateien erstellt werden müssen, um dasselbe Ergebnis zu erzielen. Für die ersten Schritte mit deiner Workflowdatei kannst du unter einen - und -Auftrag definieren, um deine Aufträge auszuführen.
# ...
jobs:
# Build job
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v5
- name: Setup Pages
id: pages
uses: actions/configure-pages@v5
- name: Build with Jekyll
uses: actions/jekyll-build-pages@v1
with:
source: ./
destination: ./_site
- name: Upload artifact
uses: actions/upload-pages-artifact@v2
# Deployment job
deploy:
environment:
name: github-pages
url: ${{steps.deployment.outputs.page_url}}
runs-on: ubuntu-latest
needs: build
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v3
# ...
In bestimmten Fällen entscheidest du dich möglicherweise dafür, alles in einem einzelnen Job zu kombinieren, insbesondere wenn kein Buildprozess erforderlich ist. Folglich konzentrierst du dich ausschließlich auf den Bereitstellungsschritt.
# ...
jobs:
# Single deploy job no building
deploy:
environment:
name: github-pages
url: ${{steps.deployment.outputs.page_url}}
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v5
- name: Setup Pages
uses: actions/configure-pages@v5
- name: Upload Artifact
uses: actions/upload-pages-artifact@v2
with:
# upload entire directory
path: '.'
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v3
# ...
Du kannst deine Aufträge so definieren, dass sie sequenziell oder parallel auf verschiedenen Runnern ausgeführt werden. Weitere Informationen finden Sie unter AUTOTITLE.