在Azure存储库git中为单个存储库中的子目录设置Maven管道

我们开始使用ADOgit回购。作为此举的一部分,我们希望直接在ado中构建一些项目-作为第一步,我们决定为使用maven构建的标准Java Server创建管道。

在ubuntu / windows上工作,我们可以使用以下命令进行编译:{{1​​}} 由于ado中的新git repo是多个项目的单个仓库,因此名为“ ContentResolver”的java项目不是仓库的根目录,而是子目录。

这样,我已经将.yml文件修改如下:

mvn package -Dmaven.test.skip=true -e -X

几乎是他们给您的yml文件,请注意,我更改了行:

# Build your Java project and run tests with Apache Maven. # Add steps that analyze code,save build artifacts,deploy,and more: # https://docs.microsoft.com/azure/devops/pipelines/languages/java trigger: - master pool: vmImage: 'ubuntu-latest' steps: - task: Maven@3 inputs: mavenPomFile: 'ContentResolver/pom.xml' mavenOptions: '-Dmaven.test.skip=true' javaHomeOption: 'JDKVersion' jdkVersionOption: '1.7' jdkArchitectureOption: 'x64' publishJUnitResults: true testResultsFiles: '**/surefire-reports/TEST-*.xml' goals: 'package' 是亲戚

mavenPomFile: 'ContentResolver/pom.xml'因为现在ADO无法识别mavenOptions: '-Dmaven.test.skip=true',但是我稍后会解决。

以及日志本身的路径:

-e -X

Failed to read schema document 'file:/home/vsts/work/1/s/src/main/resources/model.xsd'

这意味着我需要更改一些其他变量以使行家在/home/vsts/work/1/s/src/main/resources/configuration.xsd (No such file or directory)中而不是直接在src中查找模型和配置。

我还没有找到这样的方法。我试图更改为以下内容:

$(Agent.BuildDirectory)= ContentResolver

$(Agent.WorkFolder)= ContentResolver

$(Build.SourcesDirectory)= ContentResolver

但这些都没有帮助我。

marish 回答:在Azure存储库git中为单个存储库中的子目录设置Maven管道

  

Agent.BuildDirectory,Agent.WorkFolder,Build.SourcesDirectory

这些variables代表工作目录,都是系统预定义的变量。它们不能被修改或覆盖。换句话说,即使您尝试为它们分配一个新值,ti也将因为其只读而无法工作:

enter image description here

这就是为什么它们都不适合您的原因。


根据您的特殊情况,我认为仅Azure Devops的配置无法实现这一目标。因为.xsd的目录不是由Azure Devops决定的,所以它仅取决于pom.xml的定义。对于管道,它们的所有工作目录都是s文件夹。

对于管道服务器,总而言之,.xsd外观路径的结构如下:

Azure Devops工作目录 + Pom.xml构建目录

在这里,您需要考虑对pom.xml做一些事情。

正如doc所说:

  

示例是构建目录,它是目标; 来源   目录,即 src / main / java 测试源目录,即    src / test / java ;等等。执行任务或目标时, Maven看上去   用于当前目录中的POM

如果至少希望其查找路径位于ContentResolver/src/...中,则需要在pom.xml中更改默认目录。对于如何更改pom.xml配置,可以参考此thread

仅在更改pom.xml中的目录之后,然后相对于VSTS服务器,它才能找到../../s/ContentResolver/src/....的路径。

本文链接:https://www.f2er.com/3166615.html

大家都在问