Automated deployments
Now that we have a solid understanding of how to prepare a software project for deployment by architecting a package solution and leveraging a DML, we will need to define our delivery system. The most widely accepted approach in modern software build and delivery is to apply a manufacturing assembly-line paradigm to the software-release process. This methodology is prevalent at countless software-engineering organizations and seemingly transcends any specific development paradigms, including agile, lean, or waterfall. It can also be universally applied across numerous technology stacks, including Linux, Windows, Mac, iOS, Android, Embedded, Firmware, and so on.
In an assembly-line approach to software releases, pre-built packages (or containers) flow down the assembly line, are inspected by relevant stakeholders, and are eventually handed to the business for release. Packages will traditionally start in a development environment and pass through various quality-control...