Roll the daemon with backend deploys in the Swarm stack
All checks were successful
PR build (required check) / changes (pull_request) Successful in 6s
secrets-guard / encrypted (pull_request) Successful in 5s
PR build (required check) / build-backend (pull_request) Has been skipped
shell-lint / shellcheck (pull_request) Successful in 6s
PR build (required check) / build-frontend (pull_request) Has been skipped
PR build (required check) / validate-observability (pull_request) Has been skipped
PR build (required check) / gate (pull_request) Successful in 2s
All checks were successful
PR build (required check) / changes (pull_request) Successful in 6s
secrets-guard / encrypted (pull_request) Successful in 5s
PR build (required check) / build-backend (pull_request) Has been skipped
shell-lint / shellcheck (pull_request) Successful in 6s
PR build (required check) / build-frontend (pull_request) Has been skipped
PR build (required check) / validate-observability (pull_request) Has been skipped
PR build (required check) / gate (pull_request) Successful in 2s
The backend leg updated web/worker/lake but not daemon, so the first backend roll after the stack gained the service left the daemon a release behind web — a version skew across the /internal/* contract that pinning one BACKEND_IMAGE_TAG exists to prevent. Same tolerate-missing pattern as lake. Prod's daemon was rolled to the current image by hand.
This commit is contained in:
parent
0862395dda
commit
713216f4ab
1 changed files with 13 additions and 7 deletions
|
|
@ -166,13 +166,19 @@ else
|
|||
echo "==> Rolling web + worker + lake to $BACKEND_IMAGE"
|
||||
docker service update --with-registry-auth --detach=false --image "$BACKEND_IMAGE" "${STACK_NAME}_web"
|
||||
docker service update --with-registry-auth --detach=false --image "$BACKEND_IMAGE" "${STACK_NAME}_worker"
|
||||
# lake ships in the same image; a stack file predating it has no service
|
||||
# yet — the next SERVICE=all stack deploy creates it, so don't fail here.
|
||||
if docker service inspect "${STACK_NAME}_lake" >/dev/null 2>&1; then
|
||||
docker service update --with-registry-auth --detach=false --image "$BACKEND_IMAGE" "${STACK_NAME}_lake"
|
||||
else
|
||||
echo " (no ${STACK_NAME}_lake service yet; created on the next full stack deploy)"
|
||||
fi
|
||||
# lake and daemon ship in the same image; a stack file predating either
|
||||
# has no service yet — the next SERVICE=all stack deploy creates it, so
|
||||
# don't fail here. The daemon especially must roll with web: they share
|
||||
# the /internal/* contract, and a version skew between them is exactly
|
||||
# what pinning one BACKEND_IMAGE_TAG exists to prevent (seen live: the
|
||||
# first post-creation backend roll left the daemon a release behind).
|
||||
for extra in lake daemon; do
|
||||
if docker service inspect "${STACK_NAME}_${extra}" >/dev/null 2>&1; then
|
||||
docker service update --with-registry-auth --detach=false --image "$BACKEND_IMAGE" "${STACK_NAME}_${extra}"
|
||||
else
|
||||
echo " (no ${STACK_NAME}_${extra} service yet; created on the next full stack deploy)"
|
||||
fi
|
||||
done
|
||||
;;
|
||||
frontend)
|
||||
echo "==> Rolling frontend to $FRONTEND_IMAGE"
|
||||
|
|
|
|||
Loading…
Reference in a new issue