-
Notifications
You must be signed in to change notification settings - Fork 0
Update process
Julian Christl edited this page Mar 31, 2021
·
6 revisions
- Raspberry Pi with current docker image A (DI_A),
- The new update as docker image B (DI_B).
- Theoretical instances on the Raspberry Pi 1 and 2 (DC_1, DC_2).
- The Nginx with the hostname equal to the container name of DC_1 and therefore DC_1 used for the active service
- DC_1 running with DI_A
-
Github: Change on
trunk
- Github: Build and Test
-
Github: Execute
docker build
- Github: Push docker image to the image registry
- Github: Call all deployment projects in parallel
- Github: Connect to the Raspberry Pi via SSH
- RBP: Download DI_B, read current hostname from Nginx config
- RBP: Start DC_2 with current hostname as an argument and DI_B and remember container name
- DC_2: Call DC_1 using the delivered hostname and sync the current state
- RBP: Wait for full startup of DC_2, save DC_2 docker container name as the new hostname in the Nginx config
- RBP: Reload Nginx
- RBP: Remove DC_1 container
The next time this gets repeated with DC_1 and DC_2 switched.