Jenkins is an open-source automation server, facilitating building, testing, and deploying software projects.
While platforms like Github Actions or Bitbucket pipelines work well in a wide range of scenarios, Jenkins is our go-to tool for anything that's more complex or requires more resources. From sophisticated coding standard quality gates on legacy projects, through testing server provisioning playbooks inside containers, to running a full suite of E2E tests—we rely on Jenkins' flexibility and extensibility to get the full benefit of Continuous Integration and Continuous Delivery in many of our projects.
Jenkins is the de facto standard automation server. With hundreds of plugins and sizeable community it proves itself to be able to handle anything from a simple pipeline, to advanced, multi-stage tests with detailed reporting.
However, its capabilities come at a cost of maintaining infrastructure for Jenkins to run on, and the need to constantly monitor the application itself and its configuration.
At Kiwee we use Jenkins as our go-to tool for any CI/CD pipeline that's not feasible to run using Bitbucket Pipelines, Travis, CircleCI or similar.