gCubeBuilder/Jenkinsfile_yaml

41 lines
966 B
Plaintext

@Grab('org.yaml:snakeyaml:1.17')
import org.yaml.snakeyaml.Yaml
//locate where this jenkinsfile is
String releaseURL = "https://code-repo.d4science.org/gCubeCI/gCubeRelease/raw/branch/feature/17273/releases/gcube-4.14.5.yaml"
//check and parse the release file
println "Querying ${releaseURL}"
def text = releaseURL.toURL().getText()
echo text
//parsing
def jsonConfig = new Yaml().load(text)
println jsonConfig.inspect()
echo "gCube v. ${jsonConfig.gCube_release}"
jsonConfig.gCube_release.Components.each{println it.subject}
pipeline {
agent any
stages {
stage('build') {
steps {
buildComponents items: ("a".."f").collect { "Stage ${it}" }
}
}
stage('build2') {
steps {
buildComponents items: ("g".."p").collect { "Stage ${it}" }
}
}
}
}
def buildComponents(args) {
parallel args.items.collectEntries { name -> [ "${name}": {
stage("${name}") {
echo name
}
}]}
}