我有两个存储库,其中一个,主要的一个依赖于另一个存储库。我正在尝试从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) @
答案 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
}