Offizielle Website - Bundesrepublik Deutschland

Tagging-Struktur

Plattformspezifische Images:

<upstream-version>-<ref>[-<variant>]-<architecture>

Plattformunabhängige Images (Multi-Arch):

<upstream-version>-<ref>[-<variant>]

Wenn ref oder upstreamVersion leer ist, werden die Parameter ausgelassen.

1. Upstream-Rebuild-Images

Upstream-Rebuild-Images spiegeln direkt die Version ihres Upstream-Äquivalents wider (z. B. Node.js 24) und gewährleisten so eine enge 1:1-Beziehung zum offiziellen Release.

Release Tags

Für Produktiv-Releases sollte ein Rebuild-Identifier (z. B. oc.2) als Ref verwendet werden, um unveränderliche, versionierte Tags zu erstellen:

TagBeschreibung
24Aktuellster Build von Node.js 24 (laufender Index Manifest)
24-oc.2Bestimmter Rebuild von Node.js 24 (fester Index Manifest)
20-minimalAktuellste Minimal-Variante von Node.js 20 (laufender Index Manifest)
20-oc.2-minimalBestimmter Rebuild der minimalen Node.js 20 (fester Index Manifest)

Konvention für Rebuild-Identifier: Wird ein Image ohne Änderung der Upstream-Version neu gebaut (z. B. für Container-Härtung), wird der Rebuild-Zähler oc.<Nummer> hochgezählt.

Entwicklungs-/CI-Tags

Für CI-Pipelines wird der Name des entsprechenden Git-Branches als Ref verwendet:

TagBeschreibung
24-main-minimalIndex Manifest für minimales Node.js 24 vom main-Branch
24-main-minimal-amd64Plattformspezifisches Image für amd64
24-main-minimal-arm64Plattformspezifisches Image für arm64
20-mainIndex Manifest für Node.js 20 vom main-Branch
20-main-arm64Plattformspezifisches Image für arm64
Beispiele für die Tag-Hierarchie
nodejs:24                        (fortlaufend, aktuellste Version)
nodejs:24-oc.2                   → nodejs:24-oc.2-amd64, nodejs:24-oc.2-arm64

nodejs:20-minimal                (fortlaufend, aktuellste minimale Variante)
nodejs:20-oc.2-minimal           → nodejs:20-oc.2-minimal-amd64, nodejs:20-oc.2-minimal-arm64

nodejs:24-main-minimal           → nodejs:24-main-minimal-amd64, nodejs:24-main-minimal-arm64
nodejs:20-main                   → nodejs:20-main-amd64, nodejs:20-main-arm64

2. Zusammengesetzte Images

Zusammengesetzte Images fassen mehrere Komponenten mit jeweils eigenen Versionen zusammen. Da es keine einzelne Upstream-Version gibt, wird upstreamVersion ausgelasen und semantische Versionen im refparameter verwendet.

Format:

<ref>[-<variant>][-<architecture>]

Beispiele:

TagBeschreibung
1.0.0Index Manifest für Version 1.0.0
1.0.0-minimalIndex Manifest für die minimale Variante
1.0.0-minimal-amd64Plattformspezifische minimale Variante
main-amd64Entwicklungs-Build vom main-Branch

Tooling

Der Image-Tag wird mit Hilfe des Befehls devguard-scanner generate-tag erzeugt und besitzt folgende Parameter:

ParameterBeschreibungBeispiel
--upstreamVersionVersion der Upstream-Quelle (“0” für zusammengesetzte Images)24, 20
--refName der Git-Referenz (Branch, Tag oder Rebuild-Identifier)main, oc.2
--imageVariantBeschreibt optional die Image-Varianteminimal
--architectureZiel-CPU-Architektur (bei Index Manifests auslassen)amd64, arm64
--imagePathPfad des Images im Basis Registryregistry.opencode.de/oci-community/images/zendis/nodejs
--imageSuffixOptionaler Suffix für den imagePath Parameterweb, api

Image Path Suffix

Der Parameter imageSuffix hängt einen Suffix an den Basis-imagePath an. Das kann nützlich sein, wenn ein einzelnes Repository mehrere Varianten eines Images erzeugt, die unter verschiedenen Pfaden abgelegt werden.

  • Wenn imageSuffix leer oder "default" ist, wird es ignoriert
  • Andernfalls wird es folgendermaßen an den imagePath angehängt: <imagePath>/<imageSuffix>

Beispiel:

imagePathimageSuffixTagVollständige Image-Referenz
registry.opencode.de/projectdefault1.0.0-amd64registry.opencode.de/project:1.0.0-amd64
registry.opencode.de/projectweb1.0.0-amd64registry.opencode.de/project/web:1.0.0-amd64

Ausgabevariablen

Der Befehl generate-tag gibt drei Umgebungsvariablen zurück:

IMAGE_TAG=registry.opencode.de/oci-community/images/zendis/nodejs:24-main-minimal-amd64
ARTIFACT_NAME=pkg:oci/nodejs?repository_url=registry.opencode.de/oci-community/images/zendis/nodejs&arch=amd64&tag=24-main-minimal-amd64
ARTIFACT_URL_ENCODED=pkg%3Aoci%2Fnodejs%3Frepository_url%3Dregistry.opencode.de%2Fopen-code%2Foci%2Fnodejs%26arch%3Damd64%26tag%3D24-main-minimal-amd64

Diese werden dann später in eine dotenv Datei geschrieben und können dann von der CI/CD Pipeline genutzt werden.