https://staragile.com/blog/jenkins-architecture