Zuul, the open source Continuous Integration Platform has released a historic version, as it separates from the OpenStack system.
What is Zuul?
Zuul is a pipeline-oriented project gating system that makes managing Continuous Integration and Deployment less messy for development teams.
(Confusingly, there is also an Edge routing service named Zuul that is related to Netflix, on Github here and a Javascript testing tool named Zuul on Github here…)
Its usefulness is apparent primarily because of this reason – it is difficult to manage code merges (combining code from different sources, such as teams, individual, etc.) at scale. Therefore, the platform automates this historically arduous process of managing complex code merges by using its Gating System, the dependent pipeline manager, to intelligently automate such merges through queuing merges in parallel. This has high utility in the software industry, particularly for large projects and teams.
Independence Day
Since the project’s inception back in 2012 until today, the Zuul community has grown notably.
With users and contributors from firms such as BMW, GoDaddy, OpenLab and Wikimedia, the team decided to separate from OpenStack (the platform it originally belonged to), going it alone and allowing it to work independently for more generic use cases, as opposed to tightly coupled OpenStack cases.
It seems that such functionality is required by the wider software community, however it’s earliest iteration of v3 came back in March this year, and as stated by OpenStack this week: “Zuul v3.0 was only just released with a stable interface. We were early adopters and thus had to deal with tracking the extremely aggressive pace of development in Zuul. There’s also substantial inertia around Jenkins [an open source automation server written in Java] and it’s not always 100 percent obvious why Zuul is a better fit in some cases when Jenkins is just so popular.”
The team added: “However, once shown the power of it, we’ve had no complaints from members of the team about Zuul, so this was largely just a case of neophobia.”
New Features
Most notably, the latest version comes with GitHub integrations, such as the new status filter and regular expression matching for pull request statuses and ansible-based jobs, helping multifunctional teams to collaborate in the various components of the development lifecycle.
“Version 3 adds features such as GitHub integration and Ansible-based jobs which are designed to facilitate collaboration between teams and realize a world where development, testing, and deployment of applications and their dependencies are one continuous process, said Jim Blair, principal software engineer with Red Hat and founding member of the project team.
This appears to be a bold step for Zuul and it will be interesting to see how the platform evolved to accommodate more complex use cases now that has taken on its own identity.