Jenkins is a popular solution for providing automated Continuous Integration and Continuous Delivery of code to your infrastructure.
- Open-Source, On-Premise but there are SaaS providers fueled by Jenkins Cloudbees being the most popular provider out there
- Cloud Agnostic
- Lots and lots of plugins
- A vast and strong community of long-time users & contributors
- Jenkins is available in most Linux distribution package managers at this point. There is also the option to compile from source.
- Typically it is fronted by a web server, and in some cases an additional proxy for webhooks.
- Jenkins is highly configurable, which means it can take a little or a lot of elbow grease to get to where you want to be.
- There is an internal authentication system, or it can be tied in with other authentication systems.
- If installed through a package manager, updates can be fairly pain-free but be aware of plugin compatibilities, as many plugins are written by 3rd parties and there exists the potential to run into issues now and again. This is especially painful if one of those plugins manages Jenkins authentication!
- This is Open-Source
This is a great tool, especially for those of you first getting into CI/CD.
- Plays nicely with the popular code repositories out there and notifications to popular chat platforms are a simple setup.
- Plugins can provide increased mileage.
- The investment is low and you can scale this to a high level of sophistication with regard to automation over time.
- We encourage both Ops and Devs to work with tools like this in order to foster a DevOps mindset. It's a great place for both principles to collaborate.
- You can download Jenkins here: https://jenkins.io/download/