By Scott Heinlein | 18 Sept 2020
Just as Batman depends on his loyal butler Alfred, developers everywhere depend on the helpful butler Jenkins to automate their most time-consuming tasks. In 2019, Jenkins surpassed 200,000 known installations making it the most widely deployed automation server. Arcad recognized the power of Jenkins early, which is why we were the first to enhance it for the IBM i platform. Now, we are taking things even a step further with CloudBees. Similar to GitHub’s relationship with the open source project Git, CloudBees is the company built around the open source project Jenkins. CloudBees offers products built on Jenkins, with the goal of making Jenkins a more enterprise-friendly solution.
1. Level up your Jenkins Game
You may be using Jenkins currently and are wondering what benefits CloudBees could offer you. Or, perhaps you have considered using Jenkins, but have some business concerns. CloudBees CI offers several enhancements over standalone Jenkins, mainly in the areas of support, scalability, and security, which are particularly beneficial to enterprise. With CloudBees, you can have your cake and eat it too by benefiting from open source software, without any of the potential downsides.
1.1 Enterprise Support
The obvious advantage CloudBees offers is their enterprise grade support. You don’t want to be on your own if a link in your DevOps toolchain breaks. Jenkins is an open source project, and by its nature can only provide community support. For mission-critical workloads, enterprise grade support is a necessity, which both Arcad and CloudBees excel at. Enterprise support will give you and your developers the confidence to adopt a modern pipeline.
1.2 Jenkins at scale
Jenkins is designed to be distributed, and works best with not just one, but many instances. However, this infrastructure is costly to maintain, and can take away time from not only your IT, but developer time as well. CloudBees Operations Center makes managing multiple Jenkins instances easy with one unified and user-friendly interface. It’s built on Kubernetes, which allows for scalability and elasticity far beyond what’s possible with Jenkins alone, and it’s all ready to go out-of-the-box. This makes it simple to move away from your monolithic pipeline, and into an elastic distributed model. Or, if you’re just starting out with Jenkins, you can be comfortable knowing the solution will scale up with your needs over time. Bottlenecks in your pipeline are costly and can cascade into long-lasting affects. CloudBees is designed remove that possibility.
Unlike some other integrations, Arcad’s Jenkins plugins are designed with elasticity and scalability in mind. Our plugins don’t require any installation on the build agents. Simply install the Arcad plugins, and you’re ready to begin building RPG/COBOL in your same CloudBees pipeline.
1.3 Role-based Access Control
Open source projects sometimes neglect features that are important to enterprises that have strong governance requirements. CloudBees and Arcad both offer Role-based Access Control (RBAC) allowing you to compartmentalize the features only specific teams need to do their job. This not only improves security, but makes it simpler for teams who only need access to a few specific features. For example, the IBM i development team may only need access to a pipeline template with some Arcad plugins. RBAC is a key feature for enterprises who rely on this level of access granularity.
2. Continuous Integration, continuously!
CloudBees CI is, as the name suggests, a solution for continuous integration, built with Jenkins. What a lot of people don’t realize is how critical CI is to RPG/COBOL development, particularly for those interested in using Git. Due to the nature of proprietary languages like RPG, IBM i developers do not have the luxury of a flexible local build. This small but important detail is what makes CI essential for a successful adoption of a modern workflow. The last thing you want to do during a transformation is add pain to processes that used to work flawlessly.
CI ensures that building from Git is not only painless, but an improvement over traditional workflow. Successful CI does not simply mean automation, it also requires the cross-reference knowledge and build logic that only Arcad provides. Arcad enables smart builds which compile only the changed objects and dependencies you need. Without that level of intelligence, your “continuous integration” pipeline is more like “occasional integration” (after an admin updates some compile commands).
It’s hard to talk about Jenkins without also talking about Git, and that’s because the two go hand in hand. One of the reasons developers tend to love Jenkins is it gives them more visibility into things that typically are “ops” side. SCM is the backbone of any pipeline, so it makes sense that the infrastructure configuration would be stored in the same Git repository as any other code. Doing so means all commits are traceable, and are pushed through the same pipeline. Your same governance and testing can apply to not just application source, but infrastructure configuration as well. Arcad plugins can support both freestyle and pipeline (configuration-as-code) models.
Note: If you’d like to learn more about Git on IBM i, you can watch our webinar here.
4. Jenkins on i
Jenkins was designed for x86 platforms and on its own has limited capabilities on the IBM i platform. Arcad changes that, with our collection of Jenkins plugins that allow for automation through the stages of build, code quality, test, and deploy.
Arcad Builder is the intelligent build engine built on Arcad’s cross reference repository. With Arcad Builder, you will never have to manage libraries, look for dependencies, or manually copy source, Builder handles everything automatically. With our Jenkins plugin, all you have to do is push your code, and an Arcad Build is executed with the correct project parameters.
Arcad CodeChecker is a code quality tool for RPG & SQL. With CodeChecker you can enforce a baseline standard of quality for your code base, as well as enforce business and security rules. When plugged into a DevOps pipeline this tool becomes incredibly powerful. Any new code is automatically checked for quality and security, and developers instantly know if something isn’t up to standard. This is great not only from a security perspective, but also helps on-board new developers, as they have a tool to help them learn the business rules without someone watching over their shoulder.
In order to truly integrate RPG/COBOL into your DevOps pipeline, automated testing is a necessity. Arcad has tools for both unit and regression testing and both can be automated with our Jenkins plugins. Incorporating automated testing helps you shift left, ensuring bugs or defects are caught early on and before they grow costly.
Note: Read more about the benefits of Unit testing here.
No matter how complex your deployment requirements, it can be completely automated with Drops. Whether you are deploying to IBM i LPARS, or Windows/Linux servers, Drops is a truly platform agnostic application release automation solution. While Drops is a fully capable automation server in its own right, it can also be orchestrated by CloudBees CI to hook into your existing pipeline.
5. Better together
As you’ve hopefully learned, Arcad and CloudBees together complete an adhesive solution across legacy and distributed. With great support, scalability, and enhanced security and stability, CloudBees CI is an obvious choice for any enterprise. And with Arcad’s deep integration, it’s never been easier to implement a complete DevOps pipeline. A chain is only as strong as its weakest link, and many IBM i development teams are lacking the tools they need to succeed. What you have seen today is a way to empower all your teams by standardizing on one DevOps pipeline, breaking down silos in the process.