Coming from other continuous integration (CI) solutions, Travis CI, GitLab, and Azure DevOps Service, I was surprised when I found it difficult to learn Jenkins. The good news, however, is that in the end, I found Jenkins relatively easy to use and a pleasure to work with.
Looking back, I attribute my difficulty in learning Jenkins to the multitude of ways of accomplishing the same thing in it. This seems to be due to Jenkins’ layered approach, likely for backward compatibility, to adding features.
The Code
The code (written in Go) is purposefully simple:
The supporting infrastructure consists of:
For the purposes of this article, there are four operations we can perform with the code:
#continuous-integration #jenkins #azure devops #travis ci #gitlab