Declarative pipeline.

This commit is contained in:
Robert Jacob 2017-07-08 19:18:07 +02:00
parent 8983749988
commit 3d0d4d8734
1 changed files with 63 additions and 44 deletions

107
Jenkinsfile vendored
View File

@ -1,51 +1,70 @@
node ("make") { pipeline {
stage('checkout tools') { agent any
checkout scm stages {
} stage('checkout tools') {
steps {
stage('checkout') { checkout scm
checkout([
$class: 'GitSCM',
branches: [[name: 'v17.01.2']],
doGenerateSubmoduleConfigurations: false,
extensions: [
[$class: 'RelativeTargetDirectory', relativeTargetDir: 'source']
],
submoduleCfg: [],
userRemoteConfigs: [
[url: 'git://git.lede-project.org/source.git']
]
])
checkout([
$class: 'GitSCM',
branches: [[name: 'dev']],
doGenerateSubmoduleConfigurations: false,
extensions: [
[$class: 'RelativeTargetDirectory', relativeTargetDir: 'source/firmware']
],
submoduleCfg: [],
userRemoteConfigs: [
[url: 'git://github.com/ffbsee/firmware.git']
]
])
}
dir("source") {
stage('feeds') {
sh "./scripts/feeds update -a"
sh "./scripts/feeds install -a"
}
stage('patches') {
sh "cp -rf firmware/files firmware/package ."
sh 'for file in firmware/patches/lede/*.patch; do patch -p1 < $file; done'
dir('feeds/routing') {
sh 'for file in ../../firmware/patches/routing/*.patch; do patch -p1 < $file; done'
} }
} }
stage('checkout') {
steps {
checkout([
$class: 'GitSCM',
branches: [[name: 'v17.01.2']],
doGenerateSubmoduleConfigurations: false,
extensions: [
[$class: 'RelativeTargetDirectory', relativeTargetDir: 'source']
],
submoduleCfg: [],
userRemoteConfigs: [
[url: 'git://git.lede-project.org/source.git']
]
])
checkout([
$class: 'GitSCM',
branches: [[name: 'dev']],
doGenerateSubmoduleConfigurations: false,
extensions: [
[$class: 'RelativeTargetDirectory', relativeTargetDir: 'source/firmware']
],
submoduleCfg: [],
userRemoteConfigs: [
[url: 'git://github.com/ffbsee/firmware.git']
]
])
}
}
stage('feeds') {
steps {
dir("source") {
sh "./scripts/feeds update -a"
sh "./scripts/feeds install -a"
}
}
}
stage('patches') {
steps {
dir("source") {
sh "cp -rf firmware/files firmware/package ."
sh 'for file in firmware/patches/lede/*.patch; do patch -p1 < $file; done'
dir('feeds/routing') {
sh 'for file in ../../firmware/patches/routing/*.patch; do patch -p1 < $file; done'
}
}
}
}
stage('build') { stage('build') {
sh "../build.sh" steps {
dir("source") {
sh "../build.sh"
}
}
} }
} }
} }