./launcher rebuild Befehl schlägt fehl, wenn app.yml eine lange Umgebungsvariable enthält

Ich versuche, einen privaten Schlüssel über die app.yml als Umgebungsvariable hinzuzufügen.

Nachdem ich ihn hinzugefügt habe, funktioniert nichts mehr. Wenn ich ihn entferne, scheint alles wieder normal zu sein.

Der Wert, den ich hinzufügen möchte, sieht so aus und besteht aus einer Zeile mit 1755 Zeichen:

PRIVATE_KEY: “-----BEGIN PRIVATE KEY-----\n…\n…\n-----END PRIVATE KEY-----\n”

Wie kann ich das beheben?

> Sicherstellen, dass der Launcher auf dem neuesten Stand ist
> 
> Abrufen von origin
> 
> remote: Zählen der Objekte: 7, fertig.
> 
> remote: Zählen der Objekte: 100% (7/7), fertig.
> 
> remote: Komprimieren der Objekte: 100% (4/4), fertig.
> 
> remote: Insgesamt 4 (delta 2), wiederverwendet 0 (delta 0), pack-wiederverwendet 0
> 
> Entpacken der Objekte: 100% (4/4), fertig.
> 
> Von gitlab.com: REPO
> 
> 6075498..d46af48 master -> origin/master
> 
> Aktualisierung des Launchers
> 
> Aktualisierung von 6075498..d46af48
> 
> Schnellvorwärts
> 
> containers/app.yml | 6 ++----
> 
> 1 Datei geändert, 2 Einfügungen(+), 4 Löschungen(-)
> 
> Sicherstellen, dass der Launcher auf dem neuesten Stand ist
> 
> Abrufen von origin
> 
> Launcher ist auf dem neuesten Stand
> 
> Stoppen des alten Containers
> 
> + /usr/bin/docker stop -t 60 app
> 
> app
> 
> cd /pups && git pull && /pups/bin/pups --stdin
> 
> /usr/bin/docker: ungültiges Referenzformat: Repository-Name muss in Kleinbuchstaben geschrieben sein.
> 
> Siehe '/usr/bin/docker run --help'.
> 
> cat: cids/app_bootstrap.cid: Datei oder Verzeichnis nicht gefunden
> 
> "docker rm" erfordert mindestens 1 Argument.
> 
> Siehe 'docker rm --help'.
> 
> Verwendung: docker rm [OPTIONS] CONTAINER [CONTAINER...]
> 
> Entfernen eines oder mehrerer Container
> 
> rm: kann 'cids/app_bootstrap.cid' nicht entfernen: Datei oder Verzeichnis nicht gefunden
> 
> ** STARTUP FEHLGESCHLAGEN ** Bitte nach oben scrollen und nach früheren Fehlermeldungen suchen, es kann mehr als eine geben.
> 
> ./discourse-doctor kann bei der Diagnose des Problems helfen.

Hast du die Zeilenumbrüche entfernt? Können sie durch \n ersetzt werden?

Speichere den privaten Schlüssel in einer separaten Datei und gib ihn weiter.

@Stephen, kannst du mir dabei helfen?

Wenn ich die Datei.json im selben Verzeichnis wie app.yml hätte, wie würde die Zeile in app.yml aussehen?

Ich habe 27 Variablen erstellt … die mit neuen Zeilen enden … anscheinend mag es keine 2 neuen Zeilen in einer Variable, aber ich kann sie nicht so verwenden. Ich brauche sie als Umgebungsvariable mit einem bestimmten Namen.

Hast du es schon mit einem mehrzeiligen YAML versucht?

Ich habe das | Format ausprobiert, da ich die neuen Zeilen benötige. Dabei trat ein weiterer Fehler auf, etwas bezüglich eines Kommentars. Ich bin daher auf die Verwendung des Parameters --env-file docker_args beim Aufruf des Befehls ./launcher zurückgekommen. Dabei wurde einer Umgebungsvariablen ein Wert zugewiesen, aber ich muss noch prüfen, ob dies korrekt ist.

Die erstellte Datei cert.env enthielt nur eine Umgebungsvariable, nämlich die für das Zertifikat.

Ich melde mich später wieder mit Neuigkeiten, nachdem ich das geprüft habe.

Ja, scheint zu funktionieren. Ich werde noch mehr Tests durchführen, aber für den Moment denke ich, dass das eine gute Lösung ist.