Jenkins is an open-source automation server that helps facilitate continuous integration. It is installed on-premises and managed there. Azure Pipelines is a continuous integration tool that is available in the cloud or on-premises, and can manage build and release orchestration. Both are reasonable and popular options, but which is truly the best for your situation?
Simplicity
From an organization perspective, it is important to determine which tool is going to get you to your desired end result faster. While it is certainly true that Jenkins and Azure DevOps can integrate with one another, it is important to remember that there is an additional time-based cost for this integration. Using more than one tool requires an additional investment in training and maintenance. For many cases, reducing the number of tools used is optimal, especially if the additional tools are redundant.
In addition, Azure Pipelines natively integrates with things like Git repos and Azure Boards. This kind of integration is hard to pass up, especially because it provides a seamless end-to-end traceability matrix of code and items across releases.
YAML
YAML allows a developer to define the pipeline as code. While using YAML to define pipelines isn’t the right solution for all teams, it can be a powerful tool with certain benefits. For instance, the pipeline itself is managed as a source file, so it will go through the standard code review process, therefore increasing quality. It is also easier to compare different versions of the pipeline if something breaks. Azure Pipelines has a YAML interface in addition to the standard GUI; Jenkins does not.
Cost
Something we always need to take into consideration is the total cost of a solution. An Azure DevOps instance already has all the infrastructure for running pipelines built in. Not only this, Azure Pipelines comes with 30 hours of free Microsoft-hosted builds a month, or unlimited build minutes for a self-hosted job. With Jenkins, this is not the case. While Jenkins is open-source and therefore free to use, you would be responsible for deploying and maintaining your build infrastructure, as well as paying for it.
This is not a debate about which technology is better. Both are mature enough to cover all build requirements for most companies. This is about deciding which option works best for you and your teams with the least amount of friction. For more information, or to speak to one of our experts, contact us today.