pipeline简单语法——并行调用任务

pipeline {
    agent none
    stages {
        
        stage('yaml file update'){
            when{
                allOf{
                    expression {env.is_yamlfile_update == 'yes'}
                }
            }
            steps{
                build job: 'yaml_update', parameters: [
                    string(name: 'env_option', value: env.env_option)]    
            }
        }
        
        stage('deployments run'){
            parallel{
                stage('service1_image_build') {
                    when{
                        allOf{
						    //解析当前job的参数,用于判断是否需要执行
                            expression {env.service_deploy_choise.contains('service1')}
                        }
                    }                    
                    steps{
                        build job: ' xxxx', parameters: [
                            string(name: 'env_option', value: env.env_option),
                            string(name: 'is_config_update', value: env.is_config_update),
                            string(name: 'version_option', value: env.version_option)]
                    }                    
                }
				//此处省略很多同样的并行stage
                stage('service2_image_build'){
                    when{
                        allOf{
                            expression {env.service_deploy_choise.contains('service2')}
                        }
                    }                    
                    steps{
                        build job: ' xxxxxxx', parameters: [
                            string(name: 'env_option', value: env.env_option),
                            string(name: 'is_config_update', value: env.is_config_update),
                            string(name: 'version_option', value: env.version_option)]                 
                    }                    
                }                 
            }
        }
    }
}

  

posted on 2019-10-15 10:55  该用户很懒  阅读(374)  评论(0编辑  收藏  举报