Portability is the ability of software to run consistently across deployment environments. Packaging an application and its dependencies in Docker reduces environment drift, so development, testing, and production behave more alike. section 10.0
Build portability into delivery workflows by:
- Compiling code and running unit tests inside a Dockerfile, avoiding separate build dependencies. section 16.5
- Modeling the application in Docker Compose so developers and pipelines can create the same smoke-test environment. section 16.5
- Isolating build stages in scripts that translate pipeline values into Docker and Compose environment variables. section 16.5
- Keeping scripts usable by both developers and operations, rather than depending heavily on proprietary build-service features. section 16.5
A portable CI/CD path
A pipeline can compile and test an application in a multi-stage Docker build, launch a local Compose deployment for smoke testing, and publish the tested image for production. The same familiar Docker commands can run in GitHub Actions or another CI/CD service, limiting provider-specific rework. section 16.0 section 16.5




