As Jenkins' focus continues to expand from Continuous Integration to supporting Continuous Delivery, more and more Jenkins users are working on building out their Continuous Delivery Machine. This means identifying and choosing solutions for the many "adjacent problem spaces" to Continuous Integration: artifact management, feature tracking, environment provisioning, deployment automation, test management, pipeline orchestration, production feedback and many more.
For each of these areas, you have three main alternatives: use Jenkins, find a different tool and integrate it with Jenkins, or build something yourself. Here, we'll discuss the options for each category, with a special focus on app deployment, test result management and pipeline orchestration. We'll also present a couple of real-world Continuous Delivery Machine architectures, and analyze some of the motivations for each organization's choices.