Jenkins is the way to amazing automation

One-button Integration in Software Facilities for a Semiconductor Leader

Submitted By Jenkins User Mitchell Locktree
Managing the integration, transformation and process automatization of semiconductor software development for a team of 100+ developers.
Industries: Semiconductor
Programming Languages: C/C++, Python
Community Support: Jenkins.io websites & blogs, Spoke with colleagues and peers

Create a roadmap to transform to continuous integration without manual interference.

Background: At my employer, a leading semiconductor enterprise, I’m responsible for the integration and qualification of the common facilities department. That’s over 100 developers. I also handle the transformation and automatization of processes within the way of working. The technical challenge I had to overcome was to connect many different kinds of systems. For a single integration, there is information gathered from a variety of systems and sources and then stored in JSON for data analysis.  

Goals:  Integration without manual interference. This included creating a roadmap to transform to continuous integration, reduce qualification lead time, improve the integration tooling process, automate manual integration work, and automize gathering information, dashboards, and documentation.

"Jenkins is an amazing automation tool with amazing configuration possibilities."
image— Mitchell Locktree, Integrator / Semiconductor software

Solution & Results:  We have created a Jenkins pipeline with a lot of stages. The pipeline is easily extensible because in the future we’ll require that it have more stages added. The pipeline is set up in a way that we can add additional unit and system-level testing. This allows us to reduce the time development teams spend on testing.

We really relied on Jenkins pipelines and CLI, aka command-line interface. Jenkins has a built-in CLI that allowed us to access Jenkins from a script or shell environment and to create Jenkins jobs on the fly. This is convenient for scripting routine tasks, bulk updates, troubleshooting, and more.

As a software integrator, I am really happy with our results so far. They include: 

  • faster integration - from days to hours 

  • less testing done by development teams 

  • faster feedback to development teams