As part of our plan to improve the deployment process, we want better visibility into the actual state of the application after a deployment.
Currently, completing the deployment action does not necessarily tell us whether all services started correctly and remain healthy. Adding meaningful Docker health checks and collecting the resulting container state would allow the team to identify deployment problems earlier and respond faster.
Proposed changes
Add meaningful Docker health checks for:
After deployment, add an SSH-based verification step to the GitHub Actions workflow that collects the relevant Docker Compose state, including:
- Container/service status
- Health status
- Restart counts
- Image references currently running
The collected information should be included in the GitHub Actions job summary.
If the deployment or verification fails, the same relevant diagnostic information should also be included in the failure notification.
Expected outcome
After each deployment, the team should be able to quickly determine whether all expected services are running, whether they are healthy, whether any containers are restarting unexpectedly, and exactly which images are running.
As part of our plan to improve the deployment process, we want better visibility into the actual state of the application after a deployment.
Currently, completing the deployment action does not necessarily tell us whether all services started correctly and remain healthy. Adding meaningful Docker health checks and collecting the resulting container state would allow the team to identify deployment problems earlier and respond faster.
Proposed changes
Add meaningful Docker health checks for:
After deployment, add an SSH-based verification step to the GitHub Actions workflow that collects the relevant Docker Compose state, including:
The collected information should be included in the GitHub Actions job summary.
If the deployment or verification fails, the same relevant diagnostic information should also be included in the failure notification.
Expected outcome
After each deployment, the team should be able to quickly determine whether all expected services are running, whether they are healthy, whether any containers are restarting unexpectedly, and exactly which images are running.