When you’re dominating the country’s online classified ads, you can’t afford continuous integration snags. That’s why France’s fifth most visited site, LeBonCoin, adopted Zuul for gating and changed their dev team structure to scale and move faster.
In a recent feature story on LeMagIt (Google translate here), LeBonCoin dev ops engineers Guillaume Chenuet, Sonia Ouchtar and Benoit Bayszczak outlined how they’re using Zuul, an open source CI/CD service.
Back in 2015, the site had only one team dedicated to continuous integration, with a system that relied on Gerrit for code reviews and Jenkins for test automation. A year later, they extended tooling infrastructure in order to collaborate more with other team members, Chenuet says. As the company reconfigured its architecture for micro-services, the team structure shifted to from more traditional siloed organization (front-end, back-end) to multi-disciplinary teams focused on site features. The reorganization helped to improve development cycles, but also created a bottleneck with the CI tools in place. That’s when they decided to take a page from the OpenStack Foundation playbook and adopt Zuul.
In the end, the move to Zuul was about optimizing processes at scale and parallel development. “We were already agile to a certain extent. But when version 2 of Zuul appeared we (realized) we’d reached the limit of the tools we had in place,” says Bayszczak.
With the previous monolithic infrastructure, build times were 45 minutes for each change but with Zuul that was down to just five minutes, says Ouchtar. (They have since moved to Zuul v3.) The team deployed two OpenStack clusters to provide the infrastructure for running their tests. Their current CI set up consists of two clusters with three controllers, three storage components and five compute components, all in redundancy on two data centers with 100 VMs running on the clusters. The team expects to add more compute and additional OpenStack components in the future, perhaps making the services available to developers instead of reserving them only for the continuous integration teams.
Stop Merging Broken Code, Zuul presentation at @OpenStack booth @FOSDEM CI/CD platform specializing in gating changes across multiple systems and applications before landing a single patch pic.twitter.com/YiEkn8Brtd
— Erwan Gallen (@egallen) February 2, 2019
Test it for yourself
Zuul is an open source CI/CD platform designed to tackle the complexity of open source integration by gating new code against multiple projects and systems before landing a single patch. Zuul currently supports Gerrit and GitHub and leverages the Ansible ecosystem for third-party modules. Zuul is a new top-level pilot project at the OSF but has been in development for six years and proven at scale supporting the OpenStack project.
Read the Docs
Zuul offers extensive documentation.
Join the Mailing List
Zuul has mailing lists for announcements and discussions.
Chat on IRC
Join #zuul on FreeNode.