Background: The company I work for started in 1880 in Belgium. It was the beginning of the industrial revolution and the company specialized in industrial process machinery servicing. Today we imagine, build and integrate innovative textile systems for flooring qualities, home linen, fashion fabrics, and technical textiles: from yarn to finished product. When it comes to developing and delivering software, our suite of unit tests was only run manually when a developer was up to it. That's a roadblock. Also just ensuring that builds succeeded for different platforms was a challenge because of the laborious setup that some platforms require.
Goals: The primary goal for this project was to safeguard the quality of releases for all future projects.
Solution & Results: We have automated tests that are run with every push in every branch. It notifies users when something is broken and lessens the burden of running tests manually, i.e., before a merge to ensure all is still fine. Also, while developing, we can focus on the tests for the classes under focus, knowing that Jenkins will run the entire suite and notify you when something in a distant dependency breaks or needs alignment.
Having Jenkins configured to run the tests and build the product for all the supported platforms makes it really convenient so developers can work on the software without the need to do these repetitive tasks manually. Once set up, Jenkins is like a butler: trustworthy and invisible up until something goes wrong.
Jenkins deals with all the repetitive things that would only distract developers from the real work.
Here are the key components of this project:
The results were amazing: