Übersicht über das Beispiel
In diesem Artikel werden anhand eines Beispielworkflows einige der wichtigsten CI-Features von GitHub Actions vorgestellt. Wenn dieser Workflow ausgelöst wird, wird automatisch ein Skript ausgeführt, das überprüft, ob die GitHub-Docs-Website fehlerhafte Links aufweist.
Das folgende Diagramm zeigt die allgemeinen Schritte im Workflow und wie sie im Auftrag ausgeführt werden:
In diesem Beispiel verwendete Features
Der Beispielworkflow veranschaulicht die folgenden Möglichkeiten von GitHub Actions.
Feature | Implementierung |
---|---|
Auslösen eines Workflows, der automatisch ausgeführt werden soll | push |
Beispielworkflow
Der folgende Workflow wurde von dem Docs Engineering-Team für GitHub erstellt. Um die neueste Version dieser Datei im Repository github/docs
zu überprüfen, siehe check-broken-links-github-github.yml
.
Hinweis: Jede Zeile dieses Workflows wird im nächsten Abschnitt unter Grundlegendes zum Beispiel erläutert.
name: 'Link Checker: All English'
# **What it does**: Renders the content of every page and check all internal links.
# **Why we have it**: To make sure all links connect correctly.
# **Who does it impact**: Docs content.
on:
workflow_dispatch:
push:
branches:
- main
pull_request:
permissions:
contents: read
# Needed for the 'trilom/file-changes-action' action
pull-requests: read
# This allows a subsequently queued workflow run to interrupt previous runs
concurrency:
group: '${{ github.workflow }} @ ${{ github.event.pull_request.head.label || github.head_ref || github.ref }}'
cancel-in-progress: true
jobs:
check-links:
runs-on: ${{ fromJSON('["ubuntu-latest", "self-hosted"]')[github.repository == 'github/docs-internal'] }}
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Setup node
uses: actions/setup-node@v3
with:
node-version: 16.13.x
cache: npm
- name: Install
run: npm ci
# Creates file "$/files.json", among others
- name: Gather files changed
uses: trilom/file-changes-action@a6ca26c14274c33b15e6499323aac178af06ad4b
with:
fileOutput: 'json'
# For verification
- name: Show files changed
run: cat $HOME/files.json
- name: Link check (warnings, changed files)
run: |
./script/rendered-content-link-checker.mjs \
--language en \
--max 100 \
--check-anchors \
--check-images \
--verbose \
--list $HOME/files.json
- name: Link check (critical, all files)
run: |
./script/rendered-content-link-checker.mjs \
--language en \
--exit \
--verbose \
--check-images \
--level critical
Grundlegendes zum Beispiel
In der folgenden Tabelle wird erläutert, wie jedes dieser Features beim Erstellen eines GitHub Actions-Workflows verwendet wird.
Code | Erklärung |
---|---|
|
Der Name des Workflows, der auf der Registerkarte „Aktionen“ im GitHub-Repository angezeigt wird. |
|
Mit dem |
|
Füge das |
|
Füge das |
|
Füge das |
|
Ändert die für |
|
Erstellt eine Parallelitätsgruppe für bestimmte Ereignisse und verwendet den |
|
Bricht alle derzeit ausgeführten Aufträge oder Workflows in derselben Parallelitätsgruppe ab. |
|
Gruppiert alle in der Workflowdatei ausgeführten Aufträge. |
|
Definiert einen Auftrag mit der ID |
|
Konfiguriert den Auftrag abhängig von dem Repository, das den Workflow ausführt, zur Ausführung auf einem von GitHub gehosteten oder selbstgehosteten Runner. In diesem Beispiel wird der Auftrag auf einem selbstgehosteten Runner ausgeführt, wenn das Repository mit |
|
Gruppiert alle Schritte, die als Teil des |
|
Das |
|
In diesem Schritt wird mit der |
|
Mit dem |
|
Sammelt mit der |
|
Listet den Inhalt von |
|
In diesem Schritt wird mit dem |
|
In diesem Schritt wird auch mit dem |
Nächste Schritte
- Informationen zu GitHub Actions-Konzepten findest du unter Grundlegendes zu GitHub Actions.
- Weitere schrittweise Anleitungen zum Erstellen eines einfachen Workflows findest du unter Schnellstart für GitHub Actions.
- Wenn du mit den Grundlagen von GitHub Actions vertraut bist, erfährst du unter Informationen zu Workflows mehr über Workflows und deren Features.