Complexity and limits to scaling deployments through Jenkins
Since Jenkins is a general-purpose tool for building and scripting processes related to software development, it offers immense flexibility, but at the cost of complexity. While it can do almost any function related to continuous integration and deployment, it may take more scripting and setup than other systems, such as Spinnaker, CodeFresh, or WeaveWorks, that are more purpose-built. Some other continuous integration and deployment systems deal exclusively with Docker-focused workflows.
Using Jenkins to manage builds, tests, and deployments to one or two hosts is quite manageable. But when you start to scale out, it may become more complex and difficult to continue to use Jenkins to handle builds and deployments. The build and deployment scripts may also become too complex to manage due to the many different programming languages and approaches required. Let's examine these limits, starting with limits about managing...