Jenkins并行流程
某些环节可能会由很多进程,并且这些进程可以并行执行,我们可以设置并行流程。
例如静态测试包括bug扫描、安全扫描、代码风格扫描、非标软件扫描等,这些进程都可以是并行的,最终某一个失败了则整个环节失败。
官网文档地址:
https://www.jenkins.io/zh/doc/book/pipeline/syntax/#%E5%B9%B6%E8%A1%8C
语法很简单,在步骤中添加parallel
语法块,块内还是按照stage的方式编写。
也可以在parallel
上添加failFast true
,某个进程失败则整个步骤失败。
下面是一个完整Jenkinsfile例子
pipeline {
agent any
stages {
stage("stage2: Static scan") {
failFast true
parallel {
stage("stage1: select result") {
input {
message "You want to success?"
ok "ok"
}
steps {
echo 'Select Result'
}
}
stage ("code style") {
steps {
echo 'On code style'
echo 'On code style'
}
}
stage ("find bugs") {
steps {
echo 'On find bugs'
echo 'On find bugs'
echo 'On find bugs'
}
}
stage ("security") {
steps {
echo 'On security'
echo 'On security'
echo 'On security'
echo 'On security'
echo 'On security'
echo 'On security'
echo 'On security'
}
}
}
}
}
post {
always {
echo 'This will always run'
}
success {
echo 'successful'
}
failure {
echo 'failed'
}
}
}