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.
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.
Jenkins is an amazing automation tool with amazing configuration possibilities.
As a software integrator, I am really happy with our results so far. They include: