[LEBV-45] Dockerized front +
🎯 Summary
Dockerize the customer frontend + Jenkins pipeline which builds a new image, push it and updates it in staging.
🧪 How to test
To build the image, run:
npm run build-docker
The image could be run as follows:
docker run -p 80:80 -t registry.mobbeel.com/lebara-video-customer-frontend:latest
A version of the image is already deployed using the instructions of the Jenkinsfile: https://lebara-video-customer-front.yourtestingenv.com/
🧠 Considerations
For some reason the configured Nginx has a TTI > 3s. I'm confused because the server used in CI (a custom Python simple HTTP server /w GZip compression) performs better. I've tried to tweak the Nginx configuration, but I couldn't get a TTI < 3s. However, I think I could get it improving how some assets are loaded in Angular but IMHO it is out of the scope of this ticket:
- The JS code load will be improved naturally in following tickets, since each step will be lazily loaded.
- The Roboto font currently is being loaded and not used, and this affects to the TTI, so it will be removed in: https://issues.mobbeel.com/browse/LEBV-11
- I've created a new ticket to use PurifyCSS to reduce the CSS size, which increases a lot the TTI: https://issues.mobbeel.com/browse/LEBV-46
- I've created another ticket to prepare a Jenkins task to check that the TTI is under control in the staging environment: https://issues.mobbeel.com/browse/LEBV-47
🧐 Checklist
- Changes work in Google Chrome
- Changes work in Safari
- UI is responsive