Unit tests? No matter where you run them, and normally this is done by CI in a prebuilt container image, so you don’t have to wait for “docker building”. Acceptance tests must be run in an environment as close to production as possible, but that’s definitely not a programmer’s job.
Yeah, and it’s useful to just check everything so you don’t forget to add some essential system package for e.g. SSL, especially when working with Alpine.
True. Nothing beats running your unit tests in the actual container image that will be run in production.
Unit tests? No matter where you run them, and normally this is done by CI in a prebuilt container image, so you don’t have to wait for “docker building”. Acceptance tests must be run in an environment as close to production as possible, but that’s definitely not a programmer’s job.
Race condition that only happens on the much faster production hardware: Allow me to introduce myself
Or an issue that only appears when using ARM and not on my AMD64 dev machine
Unit tests can’t win ’em all. That’s where things like integration tests, staging environments, and load testing come in.
The final layer of protection is the deployment strategy, be it rolling, canary, or blue-geen.
I mean, isn’t that kind of the point of containers? To basically have the same environment everywhere.
Yeah, and it’s useful to just check everything so you don’t forget to add some essential system package for e.g. SSL, especially when working with Alpine.