From 3d0d4d873424e6f11e31004394fc1ca35e578f30 Mon Sep 17 00:00:00 2001 From: Robert Jacob Date: Sat, 8 Jul 2017 19:18:07 +0200 Subject: [PATCH] Declarative pipeline. --- Jenkinsfile | 107 +++++++++++++++++++++++++++++++--------------------- 1 file changed, 63 insertions(+), 44 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 73ce5f8..1d81bb9 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,51 +1,70 @@ -node ("make") { - stage('checkout tools') { - checkout scm - } - - stage('checkout') { - 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' +pipeline { + agent any + stages { + stage('checkout tools') { + steps { + checkout scm } } + 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') { - sh "../build.sh" + steps { + dir("source") { + sh "../build.sh" + } + } } } }