You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Bringing this into it's own issue to follow up on.
> making the blue/green deploys work smoothly. Is that something you have dealt with?
Yes, in parts (because I haven't implemented an automated rollback routine).
I was greatly inspired by the things done in djangopackages, although the end result of the configurations is quite different.
The changes I made regarding djangopackages' blue/green implementation were that:
I don't use docker compose to compile the docker images on Digital Ocean. I have a custom script that does this for me locally and on Github Actions and that uses docker build with some extra arguments (like including the git commit hash value an environment var APPLICATION_VERSION the docker image)
The docker image (along with backend and frontend compiled source code) is built in a Github Action and uploaded to Github Packages
I have implemented a docker health check for all docker services
Docker compose only references the image in github packages, and I basically run docker compose pull django-a + docker compose up -d --wait
The caddy container probably also needs to include init: true to avoid the docker caddy health check created process that terminates with zombie state
If django-a's health check never reports the healthy state to docker, then django-b will never get updated because the script will timeout and the deploy process will return a fail status
Bringing this into it's own issue to follow up on.
Yes, in parts (because I haven't implemented an automated rollback routine).
I was greatly inspired by the things done in djangopackages, although the end result of the configurations is quite different.
The changes I made regarding djangopackages' blue/green implementation were that:
docker compose pull django-a
+docker compose up -d --wait
restart: "always"
on all services ( https://www.cloudbees.com/blog/ensuring-containers-are-always-running-with-dockers-restart-policy )init: true
to avoid the docker caddy health check created process that terminates withzombie
stateIf django-a's health check never reports the
healthy
state to docker, then django-b will never get updated because the script will timeout and the deploy process will return a fail statusOriginally posted by @luzfcb in #876 (comment)
The text was updated successfully, but these errors were encountered: