Файл POM находится внутри zip-файла /pipelines-java-function-master/pom.xml
Это причина, по которой вы столкнулись с сообщением об ошибке Not found mavenPOMFile
.
Для большинства задач имеется встроенный сценарий, который будет вызываться для извлечения архивного файла, как только наша система обнаружит, что в источнике существует один архивированный файл.
НО, для задачи Maven
мы не предоставили в нее таких встроенных скриптов. В это время задача будет следовать обычному рабочему логику c, чтобы попытаться найти pom.xml
- $(System.DefaultWokingDirectory)
.
Как вы сказали, pom.xml
находится в файле zip . Поскольку zip не был извлечен, zip будет рассматриваться как файл вместо папка . Другими словами, pom.xml
, кажется, никогда не существовало для задачи Maven
. Тогда задача скажет вам, извините, мы не можем узнать pom.xml
сейчас.
В зависимости от вашего сценария, вы должны запустить Извлечь файл задачу, чтобы сделать zip-файл распакованным до запуска Maven
.
Ниже примера YAML-скрипта вы можете получить ссылку:
steps:
- task: ExtractFiles@1
inputs:
archiveFilePatterns: '*.zip'
destinationFolder: '$(Build.SourcesDirectory)'
cleanDestinationFolder: false
- task: Maven@3
inputs:
mavenPomFile: '$(System.DefaultWorkingDirectory)/{zip file name}/pipelines-java-function-master/pom.xml'
mavenOptions: '-Xmx3072m'
javaHomeOption: 'JDKVersion'
jdkVersionOption: '1.8'
jdkArchitectureOption: 'x64'
publishJUnitResults: true
testResultsFiles: '**/surefire-reports/TEST-*.xml'
goals: 'package'
Просто обратите внимание на значение mavenPomFile
. Так как задача Extract file
создаст папку с тем же именем и zip-файлом в рабочем каталоге, пожалуйста, настройте путь pom.xml
с жестким кодом: $(System.DefaultWorkingDirectory)/{zip file name}/pipelines-java-function-master/pom.xml