In diesem Abschnitt wird erklärt, wie Sie ein Gover-Image erstellen können.
Um den Container bauen zu können, brauchen Sie eine lauffähige Installation von Docker. Sollten Sie das Image in die offizielle Container-Registry von Gover hochladen wollen, benötigen Sie zusätzlich einen Private-Access-Token für Github und müssen Teil der Aivot-Organisation sein. Sollten Sie das Image nicht in die offizielle Registry laden wollen, so können Sie ein privates Image bauen und via SSH auf Ihren eigenen Server laden.
Ein offizielles Image wird in der Github-Container-Registry von Aivot veröffentlicht. Dies wird nur von Mitarbeiter:innen der Firma Aivot durchgeführt.
Passe die Dateien mit der neuen Version an:
./Dockerfile./pom.xml./app/package.jsonFühre die folgenden Schritte aus:
./app den Befehl npm install aus.chore: Bump version to v<VERSIONS_NUMMER>vX.Y.ZStarte Sie Docker und führen Sie die folgenden Befehle im Hauptverzeichnis des Projekts auf der Kommandozeile aus:
$env:VERSION = '<VERSION>'
$env:DATE = Get-Date -Format "o"
docker build `
--build-arg buildDate=$env:DATE `
--build-arg version=$env:VERSION `
--tag ghcr.io/aivot-digital/gover:$env:VERSION .
export VERSION='<VERSION>'
export DATE=$(date +"%Y-%m-%dT%H:%M:%S%:z")
docker build \
--build-arg buildDate=$DATE \
--build-arg version=$VERSION \
--tag ghcr.io/aivot-digital/gover:$VERSION .
Um einen PAT in Github zu erstellen, führen Sie die folgenden Schritte aus:
Developer Settings und öffenen Sie den Unterabschnitt Personal access tokens > Tokens (classic) oder nutzen Sie diesen Link.Generate new token (classic)).write:packagesdelete:packagesFühren Sie die folgenden Befehle im Hauptverzeichnis des Projekts auf der Kommandozeile aus:
$env:CR_PAT = '<GITHUB_PAT>'
$env:VERSION = '<VERSION>'
$env:GITHUB_USER = '<GITHUB_BENUTZERNAME>'
echo $env:CR_PAT | docker login ghcr.io -u $env:GITHUB_USER --password-stdin
docker push ghcr.io/aivot-digital/gover:$env:VERSION
export CR_PAT='<GITHUB_PAT>'
export VERSION='<VERSION>'
export GITHUB_USER='<GITHUB_BENUTZERNAME>'
echo $CR_PAT | docker login ghcr.io -u $GITHUB_USER --password-stdin
docker push ghcr.io/aivot-digital/gover:$VERSION
Ein privates Image wird nicht zwangsweise in einer Registry abgelegt und muss via SSH auf Ihren Server übertragen werden. Sollten Sie eine eigene Registry nutzen, so folgen Sie bitte den Anleitungen Ihrere Registry.
Starte Sie Docker und führen Sie die folgenden Befehle im Hauptverzeichnis des Projekts auf der Kommandozeile aus.
Sie können auch darauf verzichten, eine explizite Versionsnummer zu vergeben.
$env:VERSION = '<VERSION>'
$env:DATE = Get-Date -Format "o"
docker build `
--build-arg buildDate=$env:DATE `
--build-arg version=$env:VERSION `
--tag gover:$env:VERSION .
docker save -o gover_$env:VERSION.tar gover:$env:VERSION
export VERSION='<VERSION>'
export DATE=$(date +"%Y-%m-%dT%H:%M:%S%:z")
docker build \
--build-arg buildDate=$DATE \
--build-arg version=$VERSION \
--tag ghcr.io/aivot-digital/gover:$VERSION .
docker save -o gover_$VERSION.tar gover:$VERSION
Stellen Sie sicher, dass Sie sich via SSH mit Ihrem Server verbinden können.
Führen Sie dann den folgenden Befehl aus, um die Dateien zu übertragen:
scp ./gover_<VERSIONS_NUMMER>.tar username@ihre-server.de:/tmp/
ssh username@ihre-server.de
# Auf Ihrem Server:
docker load -i /tmp/gover_<VERSIONS_NUMMER>.tar
Nachdem Sie das Image übertragen und geladen haben, können Sie Ihre Docker-Compose-Dateien anpassen und die neue Version des Images referenzieren.