ci: expliciete cd in plaats van working-directory, en de deploy-map loggen
All checks were successful
Deploy server-up (dev) / deploy (push) Successful in 23s
All checks were successful
Deploy server-up (dev) / deploy (push) Successful in 23s
.env verschijnt niet in de deploy-map en BIND moet nog steeds in docker-compose.yml worden aangepast. De stappen die .env aanmaken, VERSION schrijven en compose draaien vertrouwden alle drie op 'working-directory:'. Wordt dat door de runner niet toegepast, dan belanden die bestanden in de werkmap van de runner en draait de container vanaf de compose daar - terwijl de rsync (die een expliciet pad gebruikt) wel netjes naar /opt/docker/server-up schrijft. Dat verklaart precies wat er gemeld wordt. - Alle stappen doen nu 'cd "$DEPLOY_DIR"' in het script zelf. - De run-log toont de werkmap, de inhoud van .env, de compose-projectmap volgens de draaiende container en de daadwerkelijke poortbinding. Daarmee is in de log te zien waar alles landt in plaats van het te moeten raden. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01C7oLCRYzY5ixJ5Sv8Y8EFb
This commit is contained in:
parent
8da53aba6f
commit
eb52c2ac41
2 changed files with 45 additions and 15 deletions
|
|
@ -70,13 +70,18 @@ jobs:
|
||||||
./ "$DEPLOY_DIR/"
|
./ "$DEPLOY_DIR/"
|
||||||
|
|
||||||
- name: Schrijf VERSION-bestand
|
- name: Schrijf VERSION-bestand
|
||||||
working-directory: ${{ env.DEPLOY_DIR }}
|
|
||||||
run: echo "${VERSION}" > VERSION
|
|
||||||
|
|
||||||
- name: Bouwen (en pushen naar de registry)
|
|
||||||
working-directory: ${{ env.DEPLOY_DIR }}
|
|
||||||
run: |
|
run: |
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
# Expliciet cd in plaats van 'working-directory:'; dat laatste wordt
|
||||||
|
# niet door elke runner even betrouwbaar toegepast.
|
||||||
|
cd "$DEPLOY_DIR"
|
||||||
|
echo "${VERSION}" > VERSION
|
||||||
|
echo "Werkmap: $(pwd)"
|
||||||
|
|
||||||
|
- name: Bouwen (en pushen naar de registry)
|
||||||
|
run: |
|
||||||
|
set -euo pipefail
|
||||||
|
cd "$DEPLOY_DIR"
|
||||||
# SU_TAG vastleggen zodat compose en de "Nu bijwerken"-knop in de app
|
# SU_TAG vastleggen zodat compose en de "Nu bijwerken"-knop in de app
|
||||||
# naar hetzelfde image wijzen (zie docs/updates.md).
|
# naar hetzelfde image wijzen (zie docs/updates.md).
|
||||||
#
|
#
|
||||||
|
|
@ -90,7 +95,8 @@ jobs:
|
||||||
touch .env
|
touch .env
|
||||||
sed -i '/^SU_TAG=/d' .env
|
sed -i '/^SU_TAG=/d' .env
|
||||||
echo "SU_TAG=${VERSION}" >> .env
|
echo "SU_TAG=${VERSION}" >> .env
|
||||||
echo "Actieve instellingen:"; grep -vE '^\s*(#|$)' .env | sed 's/^/ /'
|
echo "Inhoud van $(pwd)/.env:"
|
||||||
|
grep -vE '^\s*(#|$)' .env | sed 's/^/ /'
|
||||||
|
|
||||||
# Draait deze server vanaf de registry (SU_IMAGE in .env), dan bouwen
|
# Draait deze server vanaf de registry (SU_IMAGE in .env), dan bouwen
|
||||||
# we hier én pushen we het resultaat, zodat de in-app updateknop het
|
# we hier én pushen we het resultaat, zodat de in-app updateknop het
|
||||||
|
|
@ -119,11 +125,17 @@ jobs:
|
||||||
fi
|
fi
|
||||||
|
|
||||||
- name: Deploy
|
- name: Deploy
|
||||||
working-directory: ${{ env.DEPLOY_DIR }}
|
|
||||||
run: |
|
run: |
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
cd "$DEPLOY_DIR"
|
||||||
docker compose up -d --remove-orphans
|
docker compose up -d --remove-orphans
|
||||||
docker compose ps
|
docker compose ps
|
||||||
|
echo "Compose-projectmap volgens de container:"
|
||||||
|
docker inspect server-up \
|
||||||
|
--format ' {{index .Config.Labels "com.docker.compose.project.working_dir"}}'
|
||||||
|
echo "Poortbinding:"
|
||||||
|
docker inspect server-up \
|
||||||
|
--format ' {{range $p, $c := .NetworkSettings.Ports}}{{$p}} -> {{range $c}}{{.HostIp}}:{{.HostPort}}{{end}}{{"\n"}}{{end}}'
|
||||||
|
|
||||||
- name: Wachten op healthcheck
|
- name: Wachten op healthcheck
|
||||||
run: |
|
run: |
|
||||||
|
|
|
||||||
|
|
@ -69,14 +69,18 @@ jobs:
|
||||||
--exclude='.env' \
|
--exclude='.env' \
|
||||||
./ "$DEPLOY_DIR/"
|
./ "$DEPLOY_DIR/"
|
||||||
|
|
||||||
- name: Schrijf VERSION-bestand
|
- name: Instellingen en versie klaarzetten
|
||||||
working-directory: ${{ env.DEPLOY_DIR }}
|
|
||||||
run: echo "${VERSION}" > VERSION
|
|
||||||
|
|
||||||
- name: Build image
|
|
||||||
working-directory: ${{ env.DEPLOY_DIR }}
|
|
||||||
run: |
|
run: |
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
# Expliciet cd in plaats van 'working-directory:'. Dat laatste wordt
|
||||||
|
# niet door elke runner-implementatie even betrouwbaar toegepast, en
|
||||||
|
# als het misgaat belanden VERSION, .env en de container stilletjes in
|
||||||
|
# de werkmap van de runner in plaats van in de deploy-map.
|
||||||
|
cd "$DEPLOY_DIR"
|
||||||
|
echo "Werkmap: $(pwd)"
|
||||||
|
|
||||||
|
echo "${VERSION}" > VERSION
|
||||||
|
|
||||||
# De dev-server bouwt altijd zelf vanaf de dev-branch. SU_TAG vastleggen
|
# De dev-server bouwt altijd zelf vanaf de dev-branch. SU_TAG vastleggen
|
||||||
# zodat compose exact het zojuist gebouwde image start.
|
# zodat compose exact het zojuist gebouwde image start.
|
||||||
#
|
#
|
||||||
|
|
@ -91,16 +95,30 @@ jobs:
|
||||||
touch .env
|
touch .env
|
||||||
sed -i '/^SU_TAG=/d' .env
|
sed -i '/^SU_TAG=/d' .env
|
||||||
echo "SU_TAG=${VERSION}" >> .env
|
echo "SU_TAG=${VERSION}" >> .env
|
||||||
echo "Actieve instellingen:"; grep -vE '^\s*(#|$)' .env | sed 's/^/ /'
|
|
||||||
|
echo "Inhoud van $(pwd)/.env:"
|
||||||
|
grep -vE '^\s*(#|$)' .env | sed 's/^/ /'
|
||||||
|
|
||||||
|
- name: Build image
|
||||||
|
run: |
|
||||||
|
set -euo pipefail
|
||||||
|
cd "$DEPLOY_DIR"
|
||||||
docker compose build --pull
|
docker compose build --pull
|
||||||
docker tag "server-up:${VERSION}" "server-up:${CHANNEL}" || true
|
docker tag "server-up:${VERSION}" "server-up:${CHANNEL}" || true
|
||||||
|
|
||||||
- name: Deploy
|
- name: Deploy
|
||||||
working-directory: ${{ env.DEPLOY_DIR }}
|
|
||||||
run: |
|
run: |
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
cd "$DEPLOY_DIR"
|
||||||
docker compose up -d --remove-orphans
|
docker compose up -d --remove-orphans
|
||||||
docker compose ps
|
docker compose ps
|
||||||
|
# Waar draait de container vandaan, en op welk adres luistert hij?
|
||||||
|
echo "Compose-projectmap volgens de container:"
|
||||||
|
docker inspect server-up \
|
||||||
|
--format ' {{index .Config.Labels "com.docker.compose.project.working_dir"}}'
|
||||||
|
echo "Poortbinding:"
|
||||||
|
docker inspect server-up \
|
||||||
|
--format ' {{range $p, $c := .NetworkSettings.Ports}}{{$p}} -> {{range $c}}{{.HostIp}}:{{.HostPort}}{{end}}{{"\n"}}{{end}}'
|
||||||
|
|
||||||
- name: Wachten op healthcheck
|
- name: Wachten op healthcheck
|
||||||
run: |
|
run: |
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue