Don't know for the pipeline setup but we should definitely try Jenkins 2 :)
On Mon, Apr 25, 2016 at 9:23 AM, Vincent Massol <vincent(a)massol.net> wrote:
Hi guys,
I saw that at devoxx fr and it seems a great way of working with Jenkins.
So I’ve done some POC over the week end, following:
*
https://jenkins.io/doc/
*
https://github.com/jenkinsci/pipeline-plugin/blob/master/TUTORIAL.md
Here are the features we could use:
* Commit a Jenkinsfile in the SCM (in each branch we use) —> Solves a big part of the
issue of saving the jenkins setup + version it (we know who’s modified what and when and
it’s in sync with the branches).
* Jenkins can automatically create jobs when a Jenkinsfile is noticed. So for example on
my local machine I’ve configured a special job for the xwiki-contrib org on github and
whenever a project there adds a Jenkinsfile, a job is created (and executed) on jenkins
* It’s very visual and very powerful. You program the jenkinsfile in groovy and you have
a great DSL to control fully all the steps to execute.
* It’s possible to create some reusable libraries so that we don’t duplicate Jenkinsfile
content across modules. I still need to finish my research on how to do that. There’s a
readFile() API but I need to check how to package them so that they’re not on the FS.
For ex this is what I got locally:
*
https://www.evernote.com/l/AHdeHR61ufBJxrWGIz6FOLtxvwdFf6LXBic
* With this simple jenkinsfile:
————
#!groovy
node (){
stage "Checkout"
env.PATH = "${tool 'Maven 3'}/bin:${env.PATH}"
checkout scm
stage "Build"
def pom = readMavenPom()
def projectName = pom.name
def projectVersion = pom.version
echo "Building ${projectName} - ${projectVersion}"
sh 'mvn clean package'
stage "Collect Results"
step([$class: 'ArtifactArchiver', artifacts: '**/target/*.jar',
fingerprint: true])
try {
step([$class: 'JUnitResultArchiver', testResults:
'**/target/surefire-reports/TEST-*.xml'])
} catch (all) {
}
}
————
Some examples:
*
https://github.com/jenkinsci/pipeline-examples
*
https://gist.github.com/chinshr/aa87da01ec28335e3ffd
*
https://github.com/cloudbees/zendesk-java-client/blob/master/Jenkinsfile
Thanks
-Vincent
_______________________________________________
devs mailing list
devs(a)xwiki.org
http://lists.xwiki.org/mailman/listinfo/devs