Veröffentlichung von Inhalten
Die Online-Dokumentation besteht im Wesentlichen aus veröffentlichten Antora-Komponenten. Dieser Guide beschreibt, wie Antora-Komponenten in die Online-Dokumentation aufgenommen und aus ihr entfernt werden.
| Für diesen Guide ist ein grundlegendes Verständnis des Playbooks sowie von GitHub Actions nützlich. |
1. Aufnahme einer Antora-Komponente
Die Repositories der IsyFact verwenden Git LFS. Durch die fehlende Unterstützung von Git LFS seitens Antora muss nicht nur das Playbook, sondern auch der CI-Build, angepasst werden.
1.1. Anpassung des CI-Builds
Um den fehlenden LFS-Support von Antora zu kompensieren, checkt der CI-Build das Repository mithilfe der Checkout-Action manuell aus. Die Checkout-Action unterstützt Git LFS.
| Die Nutzung der Checkout-Action ist in der README des Repositories dokumentiert. Besonders empfehlenswert ist die Übersicht aller Parameter sowie die Liste gängiger Beispiele. |
Zur Veröffentlichung einer Antora-Komponente muss dem Workflow des CI-Builds eine neue Checkout-Action hinzugefügt werden.
jobs:
Build:
steps:
- name: Checkout isyfact-standards (release/3.x)
uses: actions/checkout@v4
with:
repository: IsyFact/isyfact-standards
ref: release/3.x
lfs: true
sparse-checkout: isyfact-standards-doc/src/docs/antora
path: isyfact-standards-3.x
Die Nutzung von sparse-checkout wird empfohlen, um nur die Dateien auszuchecken, die für den Build der Dokumentation benötigt werden.
|
1.2. Anpassung des Playbooks
Dem Playbook muss für das ausgecheckte Repository eine neue Content Source hinzugefügt werden.
1.2.1. Content Source auf Basis von Branches
content:
sources:
- url: ./isyfact-standards-3.x
branches: release/3.x
start_path: isyfact-standards-doc/src/docs/antora
version:
'release/(*)': $1
'master': '{next}.x' (1)
'(*)': $1
| 1 | {next} bezeichnet hierbei die nächste Hauptversion. |
Hierbei muss:
-
die
urlaus dem Playbook auf denpathaus der Checkout-Action zeigen, -
der
start_pathaus dem Playbook imsparse_checkoutaus der Checkout-Action enthalten sein, -
der Parameter
branchesauf den ausgecheckten Git-Branch gesetzt sein, um den lokalen, ausgecheckten Stand zu verwenden, -
der Parameter
versiondas Mapping der Git-Referenzen auf Versionen festlegen.
| Beinhaltet eine Content Source mehrere Antora-Komponenten, so ist der Parameter start_paths zu verwenden. |
1.2.2. Content Source auf Basis von Tags
content:
sources:
- url: ./isyfact-standards-4.0.0
branches: HEAD
start_path: isyfact-standards-doc/src/docs/antora
version: '{tag}'
Hierbei muss aufgrund des Git LFS Workarounds:
-
der Parameter
branchesaufHEADzeigen, -
der Parameter
versiongleich dem Tag sein.
Ansonsten sind die gleichen Punkte wie bei Content Source auf Basis von Branches zu beachten.
| Antora rät generell davon ab, Dokumentation aus Tags heraus zu veröffentlichen. |
1.3. Playbook für lokale Entwicklung
Für die lokale Entwicklung ist es sinnvoll, ein "lokales" Playbook zu pflegen. Das lokale Playbook unterscheidet sich in folgenden Punkten vom zentralen Playbook:
-
eine Content Source beinhaltet mehrere Git Branches oder Tags,
-
es werden Feature Branches für eine Vorschau der Beiträge unterstützt,
-
die Pflege der Branches erfolgt unter Umständen lokal.
content:
sources:
- url: ../isyfact-standards
branches: [HEAD, master, release/4.x, release/3.x]
tags: [3.2.1, 4.0.0]
start_path: isyfact-standards-doc/src/docs/antora
version:
'feature/(*)': $1
'release/(*)': $1
'master': '{next}.x' (1)
'(*)': $1
| 1 | {next} bezeichnet hierbei die nächste Hauptversion. |
Hierbei muss:
-
die
urlaus dem Playbook auf den lokalen Checkout-Pfad zeigen, -
der
start_pathauf die Antora-Komponenten-Konfiguration (antora.yml) verweisen, -
der Parameter
branchesbzw.tagsdie für die Veröffentlichung bestimmten Git-Referenzen beinhalten, -
der Parameter
versiondas Mapping der Git-Referenzen auf Versionen festlegen.
2. Entfernung einer Antora-Komponente
Prinzipiell müssen zur Entfernung einer Antora-Komponente aus der Online-Dokumentation die Anpassungen aus Aufnahme einer Antora-Komponente rückgängig gemacht werden.
Zusätzlich ist darauf zu achten, dass durch die Entfernung einer Antora-Komponente keine ungültigen Verweise entstehen. Hierzu geben die Logs der CI-Builds (oder lokalen Builds) Aufschluss. Werden dort noch Verweise auf die entfernte Antora-Komponente als ungültig gemeldet, müssen die entsprechenden Stellen in der Dokumentation angepasst werden.