From e2d31a5c6f1953fc9d3f3570c2d063b5802a3cba Mon Sep 17 00:00:00 2001 From: Konstantin Nazarov <mail@racktear.com> Date: Fri, 3 Feb 2017 19:55:57 +0300 Subject: [PATCH] Introduce Jenkinsfile Jenkinsfile is a script, akin to .travis.yml that contains instructions how to build code in the repo. I'm experimenting to see if we can implement a similar workflow to what we have on travis.ci --- Jenkinsfile | 159 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 159 insertions(+) create mode 100755 Jenkinsfile diff --git a/Jenkinsfile b/Jenkinsfile new file mode 100755 index 0000000000..65adecbe3a --- /dev/null +++ b/Jenkinsfile @@ -0,0 +1,159 @@ +#!groovy + +stage('Preparation') { + node { + checkout scm + dir("build") { + git 'https://github.com/tarantool/build.git' + } + stash name: 'source', useDefaultExcludes: false + } +} + + +stage('Build') { + timeout(time: 2, unit: 'HOURS') { + parallel ( + "el6": { + node { + ws { + deleteDir() + unstash 'source' + env.OS="el"; env.DIST="6"; env.PACK="rpm" + sh './build/pack/travis.sh' + } + } + }, + "el7": { + node { + ws { + deleteDir() + unstash 'source' + env.OS="el"; env.DIST="7"; env.PACK="rpm" + sh './build/pack/travis.sh' + } + } + }, + "fedora23": { + node { + ws { + deleteDir() + unstash 'source' + env.OS="fedora"; env.DIST="23"; env.PACK="rpm" + sh './build/pack/travis.sh' + } + } + }, + "fedora24": { + node { + ws { + deleteDir() + unstash 'source' + env.OS="fedora"; env.DIST="24"; env.PACK="rpm" + sh './build/pack/travis.sh' + } + } + }, + "fedora25": { + node { + ws { + deleteDir() + unstash 'source' + env.OS="fedora"; env.DIST="25"; env.PACK="rpm" + sh './build/pack/travis.sh' + } + } + }, + "fedorarawhide": { + node { + ws { + deleteDir() + unstash 'source' + env.OS="fedora"; env.DIST="rawhide"; env.PACK="rpm" + sh './build/pack/travis.sh' + } + } + }, + "ubuntuprecise": { + node { + ws { + deleteDir() + unstash 'source' + env.OS="ubuntu"; env.DIST="precise"; env.PACK="deb" + sh './build/pack/travis.sh' + } + } + }, + "ubuntutrusty": { + node { + ws { + deleteDir() + unstash 'source' + env.OS="ubuntu"; env.DIST="trusty"; env.PACK="deb" + sh './build/pack/travis.sh' + } + } + }, + "ubuntuxenial": { + node { + ws { + deleteDir() + unstash 'source' + env.OS="ubuntu"; env.DIST="xenial"; env.PACK="deb" + sh './build/pack/travis.sh' + } + } + }, + "ubuntuyakkety": { + node { + ws { + deleteDir() + unstash 'source' + env.OS="ubuntu"; env.DIST="yakkety"; env.PACK="deb" + sh './build/pack/travis.sh' + } + } + }, + /*"debianwheezy": { + node { + ws { + deleteDir() + unstash 'source' + env.OS="debian"; env.DIST="wheezy"; env.PACK="deb" + sh './build/pack/travis.sh' + } + } + },*/ + "debianjessie": { + node { + ws { + deleteDir() + unstash 'source' + env.OS="debian"; env.DIST="jessie"; env.PACK="deb" + sh './build/pack/travis.sh' + } + } + }, + "debianstretch": { + node { + ws { + deleteDir() + unstash 'source' + env.OS="debian"; env.DIST="stretch"; env.PACK="deb" + sh './build/pack/travis.sh' + } + } + }, + /*"debiansid": { + node { + ws { + deleteDir() + unstash 'source' + env.OS="debian"; env.DIST="sid"; env.PACK="deb" + sh './build/pack/travis.sh' + } + } + }*/ + ) + } +} -- GitLab