20-Jenkins-Pipeline-顺序执行和并行

Posted 爱学习de测试小白

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了20-Jenkins-Pipeline-顺序执行和并行相关的知识,希望对你有一定的参考价值。

目录

前言

顺序执行

脚本示例

并行执行

脚本示例


前言

  • 本篇学习下stage并行执行

顺序执行

  • 所有的stage,都会内嵌在最外层的stages…
  • 一个stage…下可以内嵌有且只有一个stages…
  • 多层嵌套只支持在最后一个stage…里面

脚本示例

pipeline 
    agent none
    stages 
        stage('阶段1') 
            agent 
                label 'master'
            
            steps 
                echo "阶段1"
            
        
        stage('阶段2') 
            agent 
                label 'master'
            
            environment 
                FOR_SEQUENTIAL = "some-value"
            
            stages 
               stage('阶段2-1') 
                   steps 
                       echo "阶段2-1"
                   
               
               stage('阶段2-2') 
                   steps 
                       echo "阶段2-2"
                   
               
            
        
    

并行执行

  • 声明式流水线的阶段可以在他们内部声明多隔嵌套阶段, 它们将并行执行。 注意,一个阶段必须只有一个 steps 或 parallel 的阶段。
  • 使用场景:兼容性测试,同时在windows、Linux上跑代码等

脚本示例

pipeline 
    agent any 
    stages 
        stage('阶段1') 
            steps 
                echo '阶段1'
            
        
        stage('并行阶段') 
            // failFast true:当其中一个进程失败时,你可以强制所有的 parallel 阶段都被终止
            failFast true
            parallel 
                stage('并行1') 
                    steps 
                        echo "并行一"
                    
                
                stage('并行2') 
                    steps 
                        echo "并行二"
                    
                
                stage('并行3') 
                    stages 
                        stage('并3-1-master') 
                            agent 
                                  label "master"
                             
                            steps 
                                echo "wwindows上执行"
                            
                        
                        stage('并3-2-remote_node1') 
                            agent 
                                    label "remote_node1"
                                 
                            steps 
                                echo "Linux上执行"
                            
                        
                    
                
            
        
  

以上是关于20-Jenkins-Pipeline-顺序执行和并行的主要内容,如果未能解决你的问题,请参考以下文章

Jmeter--多个线程组顺序执行和并行执行

SpringAOP的切面执行顺序在Spring4和Spring5中有啥区别?

sql执行顺序以及on和where的区别

promise执行顺序

关于父子进程的执行顺序和执行过程

小程序onLaunch和onLoad执行顺序