关于Pipeline的问题从Git中检出代码

时间:2018-05-08 07:40:13

标签: jenkins-pipeline

我的管道包括两个步骤:首先是从git检查代码,另一个是构建。 请参阅我的管道如下:

stages {
    stage('Sync code from GitLab'){
        steps {
            echo "Step 1: Sync code"
            ws(dir: '/home/tOmMy/jks_node/workspace/test') {
                checkout([$class: 'GitSCM', branches: [[name: '*/release_br']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: 'xxx', url: 'yyy']]])
                sh '''
                    pwd
                    ls -lt
                '''
            }
        }
    }

    stage('Build'){
        steps {
            echo "Step 2: Build"
            ...
        }
    }
}

然而,当来自git的Jenkins结账代码时,我看到了许多目录:

[tOmMy@ubuntu workspace]$ tree
.
|-- xx
|   `-- yy
|       |-- zz
|       |-- zz@2
|       |-- zz@2@tmp
|       `-- zz@tmp
|-- test
|-- test@2
|-- test@2@tmp
`-- test@tmp

其中xx,yy,zz是我Jenkins服务器中的文件夹和作业名称。 问题是: 1. Jenkins检查源代码的文件夹是哪个?我比较test,test @ 2,xx / yy / zz,xx / yy / zz2,它们都有相同的文件。为什么詹金斯会在很多地方检查代码?

  1. 如何在舞台('Build')中找到真正的Jenkins结帐?

1 个答案:

答案 0 :(得分:0)

通常一个声明性管道(如果你是从存储库中读取它)已经在" Checkout SCM"中检查了代码本身。在作业/构建工作区文件夹中。 如果在另一个工作区(命令ws)中分配并再次检查代码,则有2个版本。 你应该只进行构建,检查已经在普通管道中完成(如果你使用repo中的jenkinsfile)