Jenkins结帐后无法读取文件

时间:2019-01-18 16:30:17

标签: git maven jenkins

我有两个存储库,其中一个,主要的一个依赖于另一个存储库。我正在尝试从Git提取两个存储库,并且可以看到Pull成功(工作区目录中的ls显示了我的Git仓库)。

但是Maven无法从存储库中找到文件。

以下是我用来提取代码并进行构建的代码。

stage('Checkout and compile inner repo') {
        steps {
           // first repository
           checkout([$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, extensions: [[$class: 'RelativeTargetDirectory', relativeTargetDir: 'inner_repo']], submoduleCfg: [], userRemoteConfigs: [[url: 'https://www,github.com/SpecialOrg/repo.git']]])

           script{
                ['Module a', 'Module b'].each{
                               def cmd = "/path/to/mvn clean install -f inner_repo/${it}/pom.xml"
                               sh cmd
                }
            }
        }
    }

这是我得到的错误:

[FATAL] Non-readable POM /jenkins_workspace/inner_repo/Module_a/pom.xml: /jenkins_workspace/inner_repo/Module_a/pom.xml (No such file or directory) @ 

1 个答案:

答案 0 :(得分:0)

我认为,当您提供相对目标目录时,它将在该目录内克隆存储库。因此,相对于工作空间,给定模块的pom路径为

inner_repo/repo/module_A/pom.xml

因此,您的迭代应按如下所示进行更改。

 ['Module a', 'Module b'].each{
                           def cmd = "/path/to/mvn clean install -f inner_repo/repo/${it}/pom.xml"
                           sh cmd
            }