Deploy: validate s ignore pending + workflow si sám aktualizuje deploy.sh
deploy.sh validate selhával na nové/změněné repeatable (flyway 12: pending = error), kterou má hned následující migrate aplikovat → -ignoreMigrationPatterns '*:pending'. Workflow deploy step nově nejdřív resetne checkout a nainstaluje ROOT kopii deploy.sh z repa — opravy skriptu se propagují bez ručního zásahu na serveru (deploy.sh fetch/reset zopakuje idempotentně). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -78,7 +78,15 @@ jobs:
|
|||||||
ls -ld /opt/ems-deploy
|
ls -ld /opt/ems-deploy
|
||||||
|
|
||||||
- name: Run deploy script
|
- name: Run deploy script
|
||||||
run: bash /opt/ems-deploy/deploy.sh
|
# Nejdřív aktualizovat checkout + ROOT kopii skriptu z repa (jinak by
|
||||||
|
# opravy deploy.sh nikdy nedoputovaly na server — skript se spouští
|
||||||
|
# z /opt/ems-deploy, ne z checkoutu). deploy.sh pak fetch/reset zopakuje
|
||||||
|
# idempotentně.
|
||||||
|
run: |
|
||||||
|
git -c safe.directory=/opt/ems-deploy/app -C /opt/ems-deploy/app fetch origin
|
||||||
|
git -c safe.directory=/opt/ems-deploy/app -C /opt/ems-deploy/app reset --hard origin/main
|
||||||
|
install -m 0755 /opt/ems-deploy/app/deploy/deploy.sh /opt/ems-deploy/deploy.sh
|
||||||
|
bash /opt/ems-deploy/deploy.sh
|
||||||
|
|
||||||
# Alternativa: runner v Dockeru bez přístupu k hostu — odkomentovat a upravit SERVER + secrets.
|
# Alternativa: runner v Dockeru bez přístupu k hostu — odkomentovat a upravit SERVER + secrets.
|
||||||
# deploy-ssh:
|
# deploy-ssh:
|
||||||
|
|||||||
@@ -64,7 +64,9 @@ docker compose -f "$COMPOSE_DST" --env-file "$ENV_FILE" config >/dev/null
|
|||||||
# Čisté `up -d` často znovu nespustí jednorázový kontejner flyway — změny jen v R__/*.sql přes migrate.
|
# Čisté `up -d` často znovu nespustí jednorázový kontejner flyway — změny jen v R__/*.sql přes migrate.
|
||||||
# Při chybě je v logu celý Flyway výstup (konkrétní SQL / řádek).
|
# Při chybě je v logu celý Flyway výstup (konkrétní SQL / řádek).
|
||||||
log "Flyway validate"
|
log "Flyway validate"
|
||||||
docker compose -f "$COMPOSE_DST" --env-file "$ENV_FILE" run --rm flyway validate
|
# *:pending — nové/změněné repeatables aplikuje hned následující migrate;
|
||||||
|
# bez ignore patternu flyway 12 validate selže dřív, než se k migrate dostane.
|
||||||
|
docker compose -f "$COMPOSE_DST" --env-file "$ENV_FILE" run --rm flyway validate -ignoreMigrationPatterns='*:pending'
|
||||||
|
|
||||||
log "Flyway migrate (docker compose run --rm flyway)"
|
log "Flyway migrate (docker compose run --rm flyway)"
|
||||||
docker compose -f "$COMPOSE_DST" --env-file "$ENV_FILE" run --rm flyway migrate
|
docker compose -f "$COMPOSE_DST" --env-file "$ENV_FILE" run --rm flyway migrate
|
||||||
|
|||||||
Reference in New Issue
Block a user