Skip to main content

Enterprise Server 3.20 ist derzeit als Release Candidate verfügbar.

Verwendung von benutzerdefinierten Workflows mit GitHub Pages

Du kannst GitHub Actions und GitHub Pages nutzen, indem du eine Workflowdatei erstellst oder einen der vordefinierten Workflows auswählst.

Wer kann dieses Feature verwenden?

GitHub Pages ist in öffentlichen Repositorys mit GitHub Free und GitHub Free für Organisationen sowie in öffentlichen und privaten Repositorys mit GitHub Pro, GitHub Team, GitHub Enterprise Cloud und GitHub Enterprise Server verfügbar.

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.