I've been trying to do some learning about CI (specifically with Jenkins). One thing I saw in your book is you have a chapter on writing a Plugin for jenkins.
Is this a really typical thing to do in CI, having to write a custom plugin? I thought CI and jenkins was more of a plug-in play job. Connect SVN, configure the jUnit plugin, configure the code coverage plugin, etc etc.
And I'm mostly interested in Jenkins, am I going to get anything out of the CircleCI/other CI tool chapters?
I was trying to move your question and Jean's reply to a new thread (because posts in the welcome thread aren't eligible to win in the promo). I did it wrong.
Here was Jean's reply:
Jean-Marcel Belmont wrote:Hi Run,
The reason I added a chapter on writing a plugin for Jenkins was to demonstrate how to write a plugin if necessary.
Obviously though there is a whole world of Jenkins Plugins available so the likelihood that a Jenkins Plugin exists that you need is already there.
To answer your question though, Jenkins is a CI tool that you can use for many different things.
You mention svn but you can also use git and mercurial which are distributed version control systems unlike svn which is a centralized version control system.
You can use many different types of Jenkins plugins outside of jUnit but to be more precise you can use Jenkins for many different types of tests such as Unit Tests, Integration Tests, and Acceptance Tests.
You can use Jenkins to make Code Coverage Reports and to generate other types of reports.
I would argue that yes you will get a lot out of the Travis CI and Circle CI chapters as they are heavily used in open source projects and there are differences between them and Jenkins.
Namely the way you configure Travis CI is through an embedded configuration file such as yaml.
Yes, definitely sounds like a good to know. My current project is a monolithic legacy system.. so if any place would need a custom plugin, would be this! But I think the most that's been implemented is building from SVN.(not even junits)
Question around CircleCI/other, I probably sound naive.. which would be correct. However, workplace just already has Jenkins locked in, so knowing trivial differences like, i.e. using a YAML description file instead of XY probably aren't important to us.
Yeah I totally understand on the Jenkins side. If you are already have Jenkins in place in your workplace there isn't too much advantage to reading the chapters on Circle CI and Travis CI although it would be good to know them if you ever open source some projects as these CI tools are heavily used in Github and Bitbucket.
I just had the craziest dream. This tiny ad was in it.
free, earth-friendly heat - a kickstarter for putting coin in your pocket while saving the earth