Deploy gegen fehlendes Secret und Crash-Schleife absichern
All checks were successful
Build & Deploy / deploy (push) Successful in 2m38s
All checks were successful
Build & Deploy / deploy (push) Successful in 2m38s
Zwei Faelle, in denen der Lauf gruen geworden waere, obwohl nichts laeuft: - Ist das Secret DOTENV nicht gesetzt, entstand eine leere .env. Der Server wirft dann beim Start (requireEnv), der Container startet endlos neu - der Workflow haette das nicht gemerkt. Jetzt bricht der Schritt vorher ab. - "docker compose up -d" kehrt zurueck, sobald der Container erzeugt ist, nicht wenn er laeuft. Mit --wait wird der vorhandene Healthcheck zum Gate; --wait-timeout 180, weil das erste Health-Ergebnis beim Intervall von 60s entsprechend spaet kommt. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -39,11 +39,18 @@ jobs:
|
||||
env:
|
||||
DOTENV: ${{ secrets.DOTENV }}
|
||||
run: |
|
||||
if [ -z "$DOTENV" ]; then
|
||||
echo "Secret DOTENV ist leer oder nicht gesetzt."
|
||||
exit 1
|
||||
fi
|
||||
umask 077
|
||||
echo "$DOTENV" > .env
|
||||
|
||||
# --wait: bricht ab, wenn der Container nicht healthy wird. Ohne das
|
||||
# waere der Lauf gruen, obwohl der Container in einer Crash-Schleife
|
||||
# haengt - z. B. weil ein Wert in .env fehlt.
|
||||
- name: Deployen
|
||||
run: docker compose up -d --build --remove-orphans
|
||||
run: docker compose up -d --build --remove-orphans --wait --wait-timeout 180
|
||||
|
||||
- name: Alte Layer aufraeumen
|
||||
run: docker image prune -f
|
||||
|
||||
Reference in New Issue
Block a user