In order to facilitate scalability and future development of the automated service delivery, I have tested a Docker setup. This setup would even further split the front- and backend by using separate containers.
Rebuilding and deploying takes a lot of time, therefor a Jenkins container was deployed. Jenkins takes care of automatically building and deploying the frontend, backend and api containers when code is pushed to the Github repo. Because of this flexibility, I have added development containers on which experimental features can be deployed for testing without affecting the live network.
Using a Traefik container, I was able to automate requesting HTTPS certificates using Letsencrypt and protect services like Jenkins with a whitelist.
Skills used
- Docker
- Jenkins
- Traefik