Pepperl+Fuchs is one of the world’s largest manufacturers of electronic sensors and is a world market leader for intrinsic safety and explosion protection technology.
Summary: Pepperl+Fuchs adopted CloudBees CI to minimize administrative overhead for R&D teams and reliably automate business processes and scheduled tasks for departments throughout the company.
Challenge: Support CI without administrative overhead for development teams while minimizing one-off scheduled tasks and manual monitoring
Solution: Use CloudBees CI to offer a centralized CI service for R&D teams while reliably automating business processes companywide
Key business processes reliably automated
Engineers focused on development, not administration
Onboarding and offboarding streamlined through Active Directory integration
Improved software quality with increased velocity
Product: CloudBees CI
Pepperl+Fuchs engineers are passionate about automation – not just in each product they build but in the processes used to build them. With 5,600 employees worldwide and sales topping €550 million last year, Pepperl+Fuchs is a leading manufacturer of industrial sensors for factory automation and process automation applications.
This passion for automating processes led the company’s R&D teams to embrace continuous integration (CI) powered by CloudBees CI for the development of sensor firmware and other software. That automation subsequently led the Pepperl+Fuchs IT team to leverage solutions from CloudBees for business process automation.
"CloudBees CI has helped us save quite a bit of time by automating jobs across the company,” says Andreas Daubner, IT administrator at Pepperl+Fuchs. "At the same time, we have centralized the administration of Jenkins, which reduced overhead for our R&D teams and let them focus on development instead of tooling.”
"CloudBees CI has enabled us to offer a centralized Jenkins service backed by professional support that reduces administrative overhead and provides a more reliable way to automate business processes across the rest of the company."Andreas Daubner
Support CI Without Administrative Overhead While Minimizing Manual Tasks and Monitoring
Several years ago, a few of the firmware development teams in the Pepperl+Fuchs R&D organization began using Hudson to automate parts of their build and test processes. Over time, these teams migrated their job configurations to Jenkins, but the administrative burden for each team managing its own instance became significant.
"We heard from our R&D teams that they wanted us to provide a central Jenkins® service that would eliminate the administrative overhead for them and let them focus on their primary business objective – developing firmware for our sensors,” Daubner explains.
Moving all the teams to a single Jenkins instance presented a challenge. The IT team wanted a way to group and secure jobs for specific projects so they could not be inadvertently altered by other teams. Further, as teams came to rely on Jenkins more heavily, the company recognized the lack of expert support as a potential risk.
"We needed a way for each team to only see those jobs that were relevant to them,” says Daubner. "We also needed a way to get support when we needed it. Professional support was a key factor in deciding our next steps.”
Pepperl+Fuchs was relying on the Windows Task Scheduler to execute routine tasks throughout various departments across the company, including sales, finance and quality management. Scripts were run daily, or multiple times daily, on disparate machines to perform a variety of tasks, including predefined periodic database queries, data collection and health monitoring for the company’s ERP software. The overall setup was distributed and not centrally managed, leading to reliability issues.
"We had one job running here, the next job running there, and the next job running on a local client of someone who had gone on vacation,” recalls Daubner. "Sometimes we had no chance to get a scheduled task running. If a job failed because a resource wasn’t reachable, the operating system had been upgraded or any other problem, we sometimes didn’t learn about it until the next day. We wanted to leverage our in-house knowledge of Jenkins to centralize these jobs and better manage them – just as we wanted to centralize the administration of Jenkins for our R&D teams.”
Centralize Administration and Automate Business Processes
Pepperl+Fuchs transitioned away from individually managed instances of Jenkins and Windows Task Scheduler to CloudBees CI for continuous integration and business process automation.
Daubner began by setting up a folder structure for organizing projects and jobs by team using the Folders Plus plugin. He then established security permissions for the folders with the Role Based Access Control (RBAC) plugin, which he set up to access user and group information in the company’s Active Directory instance.
He then helped all the R&D teams that wanted to migrate from their existing Jenkins instances to the new CloudBees controller. "The transition process was very smooth,” says Daubner. "After I explained the folder structure and the RBAC system to a few of my colleagues in R&D, they were able to take care of their jobs themselves from that point on, since they were already familiar with Jenkins.”
Several of the R&D teams are using Jenkins Pipeline to build sophisticated software delivery pipelines that incorporate a wide range of other plugins for log parsing, unit testing and artifact management, among other tasks.
Next, Daubner converted all the scheduled IT tasks run by Windows Task Scheduler on various machines into Jenkins jobs run centrally. "We took the opportunity to modernize the tasks as we moved them to the CloudBees solution,” says Daubner. "For example, we rewrote old Visual Basic scripts as PowerShell scripts, which made them easier to manage and maintain.”
The team also used Jenkins features and plugins to improve the responsiveness of the scheduled tasks and streamline their configuration. For example, they set up a job to be triggered by the existence of a specific file in a directory, which meant that it would run on demand as soon as it was needed, rather than running on a schedule periodically throughout the day. Using the Templates plugin, the team defined templates that they used to easily create many jobs that were largely the same but with minor differences, such as an IP address or specific SQL query, for example.
Pepperl+Fuchs currently has one production CloudBees Managed controller with 25 shared agents running on a high-availability VMWare cluster. Daubner and his team use CloudBees Jenkins Operations Center™ to manage this controller along with a second Managed controller used for testing new plugins and configurations.
Daubner is looking forward to upgrading to CloudBees CI, which will enable the company to assign separate controllers to each R&D team, providing greater autonomy for those teams.
"CloudBees CI will give teams more freedom over the plugins they are using and the version of their controller,” explains Daubner. “And that is absolutely something we are all looking forward to.”
Key business processes reliably automated.
"Since we moved our business automation jobs to CloudBees CI, they are easier to manage and executed more reliably,” says Daubner. "Plus, we know right away if a job fails. We get an email that helps us quickly troubleshoot the problem instead of having to manually monitor scheduled tasks. One team even set up a USB traffic light in the office that switches from green to red if a job fails, providing an immediate visual warning."
Engineers focused on development.
"Because we offer Jenkins as a centralized managed service, our R&D engineers can focus on developing innovative new features instead of spending time administering their CI tools,” says Daubner. "The Folders and RBAC plugins enable us to provide access to a central Jenkins platform, while keeping each team’s jobs secure and separate.”
Onboarding and off-boarding streamlined through active directory integration.
"Using the Role-Based Access Control plugin to link to our Active Directory instance simplified onboarding, because we just have the engineers login to one account,” says Daubner. "I am a big fan of any tool that integrates with Active Directory, because it is hard for users to remember multiple passwords, especially when they change frequently.”
R&D development quality improved.
"Jenkins and CloudBees CI help our developers achieve and maintain higher quality levels in less time,” says Daubner.