[英]Run multiple Jobs in parallel via Jenkins Declarative pipeline syntax
我想使用聲明性語法從單個管道並行執行多個作業。 這可以嗎!! 我知道我們可以使用“parallel”參數創建一個聲明性並行管道。
pipeline {
agent any
parallel{
stages {
stage('Test1') {
steps {
sh 'pip install -r requirements.txt'
}
}
stage('Test2') {
steps {
echo 'Stage 2'
sh 'behave -f allure_behave.formatter:AllureFormatter -o allure-results features/scenarios/**/*.feature'
}
}
stage('Test3') {
steps {
script {
allure([
includeProperties: false,
jdk: '',
properties: [],
reportBuildPolicy: 'ALWAYS',
results: [[path: 'allure-results']]
])
}
}
}
}
}
}
下圖將向您展示我想要的正確流程。 任何方法如何做到這一點?
// Pipeline project: SO-69680107-1-parallel-downstream-jobs
pipeline {
agent any
stages {
stage('Clean Workspace') {
steps {
cleanWs()
}
}
stage('Parallel stage') {
parallel {
stage('Stage 2') {
steps {
build 'SO-69680107-2'
copyFiles( "$WORKSPACE\\..\\SO-69680107-2", "$WORKSPACE")
}
}
stage('Stage 3') {
steps {
build 'SO-69680107-3'
copyFiles( "$WORKSPACE\\..\\SO-69680107-3", "$WORKSPACE")
}
}
stage('Stage k') {
steps {
build 'SO-69680107-k'
copyFiles( "$WORKSPACE\\..\\SO-69680107-k", "$WORKSPACE")
}
}
} // parallel
}
}
}
def copyFiles( downstreamWkspc, upstreamWkspc ) {
dir("$downstreamWkspc") {
bat """
@set prompt=\$g\$s
dir
xcopy /f *.* \"$upstreamWkspc\\\"
dir \"$upstreamWkspc\"
"""
}
}
下游項目模板SO-69680107-2
、 SO-69680107-3
、 SO-69680107-k
:
// Pipeline project: SO-69680107-X
pipeline {
agent any
stages {
stage('Stage X') {
steps {
sh 'set +x; echo "Step X" | tee SO-69680107-X.log; date; sleep 3; date'
}
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.