Jenkins管道构建采用了先前构建的工件

时间:2018-08-06 23:31:17

标签: jenkins jenkins-plugins jenkins-pipeline

我们正在使用Jenkins Pipeline。我们的Jenkinsfile脚本使用cifsPublisher来发布/部署到Windows共享。 Jenkins文件中的每个阶段都与一个环境(开发,测试,生产)相关联。我们拥有部署到每个环境所需的批准。

从DEV到TEST进行批准时,应该在TEST阶段获得与部署到DEV完全相同的工件。但是,如果在第一个构建被批准进入TEST之前,第二个构建已在DEV中运行,那么似乎第一个构建将花费几秒钟的构建工件进入TEST。我感觉工件目录在每个构建版本中都不都是唯一的。

这是脚本的简化版本:

pipeline {
    agent none
    options {
      skipDefaultCheckout()
      checkoutToSubdirectory('$BUILD_NUMBER')
    }
    stages {
      stage('Build') {
        agent any
        steps {
          checkout scm      
        }
      }
      stage('DEV') {
        agent any
        steps {
          cifsPublisher(alwaysPublishFromMaster:false, 
                    publishers:[
                        [   configName:'DEV', 
                            transfers:[
                                [   cleanRemote:true, 
                                    excludes:'', 
                                    flatten:false, 
                                    makeEmptyDirs:true, 
                                    noDefaultExcludes:false, 
                                    patternSeparator:'[, ]+', 
                                    remoteDirectory:'', 
                                    remoteDirectorySDF:false, 
                                    removePrefix:'', 
                                    sourceFiles:'**/'
                                ]
                            ], 
                            usePromotionTimestamp:false, 
                            useWorkspaceInPromotion:false, 
                            verbose:false
                        ]
                    ]
                )        
            }               
        }  
        stage('TEST') {
            agent any
            steps {
              cifsPublisher(alwaysPublishFromMaster:false, 
                        publishers:[
                            [   configName:'TEST', 
                                transfers:[
                                    [   cleanRemote:true, 
                                        excludes:'', 
                                        flatten:false, 
                                        makeEmptyDirs:true, 
                                        noDefaultExcludes:false, 
                                        patternSeparator:'[, ]+', 
                                        remoteDirectory:'', 
                                        remoteDirectorySDF:false, 
                                        removePrefix:'', 
                                        sourceFiles:'**/'
                                    ]
                                ], 
                                usePromotionTimestamp:false, 
                                useWorkspaceInPromotion:false, 
                                verbose:false
                            ]
                        ]
                    )        
                }               
            } 
        }
    }
} 

谢谢你。

0 个答案:

没有答案