openCode / Document Writing Tools / Document Writing CI Components

Hi,

wir benutzen die vg. Komponenten für https://foederale-it-architekturrichtlinie.gov.de/, u. A. die Komponente md-to-gitlab-page.
Das funktioniert recht gut - abgesehen von der Unschönheit, dass ein Build immer für das Root-Verzeichnis des Zielservers generiert wird.

Warum das ein Problem ist: Bevor wir etwas veröffentlichen, würden wir uns das gerne anschauen, bzw. auch andere Personen (außerhalb des Entwicklerteams) um ein Review von Änderungen bitten.
Wir haben hierfür in anderen Projekten (auf Basis von Docusaurus oder Next.JS) einen entsprechenden Mechanismus, der uns solche Previews auf einem anderen Webserver bereitstellt. Die Ziel-URL für solche Previews enthält dabei als Pfad eine Projektkurzbezeichnung sowie die projektspezifische Merge Request ID aus Gitlab (CI_MERGE_REQUEST_IID). Es handelt sich also nicht um das Root-Verzeichnis des betr. Webservers!
Demzufolge stimmen natürlich die von md-to-gitlab-page generierten Links nicht. :disappointed:

Wie eine Lösung aussehen könnte: Das Einfachste wäre wohl, wenn das Document Writing CI Components Projektteam der Komponente md-to-gitlab-page einen neuen Input Parameter base-path o.Ä. hinzufügen würde, welcher den Basispfad für das Deployment angibt (also z. B. /subfolder, um das Ergebnis von domain.com/subfolder abzurufen). Next.JS unterstützt dass ja (via basePath).

Die Verwendung der md-to-web-Komponente wäre hier mit Kanonen auf Spatzen geschossen.

Übersehe ich etwas? Hat jemand bereits diesbezügliche Erfahrungen? Kann evtl. jemand aus dem Document Writing CI Components Team was dazu sagen (maybe @oc000048015292)?

Danke im Voraus für Euer Feedback, viele Grüße!
Jürgen

4 „Gefällt mir“

Hi Jürgen,

das ist eine super coole Idee :grinning:! Das Thema Preview ist auch für andere Nutzende sehr spannend – könntet ihr euch vorstellen, dass wir uns einmal zu eurer Implementierung der Preview der Stände aus MR etc. auf anderen Pfaden austauschen könnten? Wir fänden das sehr spannend, so eine Funktion ggf. direkt über die CI-Komponente verfügbar zu machen.

Das mit dem basePath im ersten Schritt sollte kein Problem sein. Wir haben dazu mal das folgende Issue angelegt und nehmen das in die Planung mit auf: Preview MR version on other paths (make basePath configurable) (#13) · Issues · openCode / Document Writing Tools / Document Writing CI Components · GitLab

Liebe Grüße
Sebastian (aus dem Document Writing Tools Team)

3 „Gefällt mir“

Hi Sebastian,

coole Sache!
NATÜRLICH können wir uns austauschen (ich dachte, dass ist die Idee des Ganzen!? :grin:)!

Ich betreue im Auftrag der FITKO diverse Docusaurus-Instanzen sowie das Föderale Entwicklungsportal. Live-Version von Letzterem auf docs.fitko.de, eine Preview (u. A. mit aktueller Absendermarke) befindet sich z. B. auf https://preview.docs.fitko.dev/entwicklungsportal/206/.

Daran erkennst Du auch bereits die Struktur:

Inhalt Bedeutung
preview.docs.fitko.dev Hostname der Preview-Domain
entwicklungsportal PROJECT_SLUG: eindeutige Kurzbezeichnung je Projekt
206 CI_MERGE_REQUEST_IID

Damit ist auch klar, dass die Ziel-URL zur Build Time bekannt ist.

Das Deployment ist hier beschrieben: Deployment | Dokumentation zur Nutzung des Föderalen Entwicklungsportals.
Auf dem Webserver selbst läuft eine angepasste Version von adnanh/webhook, die sich - vom Webhook angestoßen - die Build-Artefakte holt und den Inhalt des build-Verzeichnisses mittels rsync in das „richtige“ Deployment-Verzeichnis kopiert.
Simple, isn’t it?

Gerne können wir auch mal meeten dazu!
Bin den Rest der Woche ziemlich frei, bei mir geht es ab 9:30 Uhr.
Schicke Dir separat meine E-Mail, dann kannst Du mir einen Meeting-Link (ich nehme alles, egal ob Webex, Jitsi, Teams oder Zoom) senden.

Ich habe auch schon eine konkrete Idee, was man an der templates/md-to-gitlab-page.yml ändern muss, damit das funktioniert. :wink:

Ein Fallback (kopiere den Inhalt von public statt von build) würde ich auf unserer Seite implementieren, ist ja keine große Sache.

Schönen Feierabend!
Jürgen