Jenkins X is a framework with a set of tools and processes that simplifies and automates creation, management, and use of a CI/CD pipeline. These can be applied in any external or on-prem cloud environment that is running a Kubernetes cluster. Jenkins X allows developers and others to focus on the code being developed, instead of how it is transformed into deliverables and deployments.
Jenkins X creates a pipeline that becomes the primary tool for getting the code delivered, instead of the pipeline being a barrier to delivery. And it does this by automatically implementing industry best practices and workflows.
Automate the hard stuff
Rather than needing to spend lots of time and resources creating CI/CD pipelines and supporting processes, running a single command in Jenkins X can do that for you. The result is an end-to-end CI/CD pipeline, complete with git repositories, promotion environments, web-hooks to trigger actions, and more – all deployed into a Kubernetes cluster.
Jenkins X also includes the ability to create projects tailored for any number of common programming environments. “Quickstart” project templates are included for Go, Python, and many others. Once setup, the projects can be easily managed from prototype to production via Jenkins X’s managed promotion model.
Feedback and control
Speaking of pull requests, Jenkins X will update pull requests and tracking tickets with comments based on what is occurring in the pipeline and success/failure of events like test builds. This includes when code is ready to be previewed, promoted, or when pull requests are generated. In fact, comments you add in pull requests can be used to trigger certain actions and events in the pipeline.
Jenkins X was designed from the ground up to automate all of the stuff that usually bogs down people trying to work with containers, orchestration, etc. This includes managing Kubernetes, setting up pipelines, getting code through the pipeline, and even installing and updating tools. Jenkins X achieves this automation, in part, by incorporating some key design characteristics around DevOps into it’s implementation.