Публикация артефактов Maven с помощью Azure Pipelines
С помощью Azure Pipelines можно публиковать пакеты Maven в веб-каналах Azure Artifacts, общедоступных реестрах или в качестве артефакта конвейера.
Настройка проекта
Добавьте следующий фрагмент
repositories
кода в файл pom.xml иdistributionManagement
разделов. Замените заполнители именем организации, именем проекта и именем веб-канала.<repository> <id>MavenDemo</id> <url>https://pkgs.dev.azure.com/ORGANIZATION-NAME/PROJECT-NAME/_packaging/FEED-NAME/maven/v1</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </repository>
Настройте файл settings.xml следующим образом. Замените заполнители именем организации, именем проекта и личным маркером доступа.
<server> <id>PROJECT-NAME</id> <username>ORGANIZATION-NAME</username> <password>PERSONAL-ACCESS-TOKEN</password> </server>
Создайте личный маркер доступа с помощью упаковки и записи область и вставьте его в
password
тег в файле settings.xml.
Сборка кода
В этом примере мы используем задачу Maven для создания проекта с помощью Azure Pipelines.
- task: Maven@3
inputs:
mavenPomFile: 'my-app/pom.xml' // Path to your pom file
mavenOptions: '-Xmx3072m'
javaHomeOption: 'JDKVersion'
jdkVersionOption: '1.8'
jdkArchitectureOption: 'x64'
publishJUnitResults: true
testResultsFiles: '**/surefire-reports/TEST-*.xml'
goals: 'package'
Публикация пакетов в конвейер
В следующем примере показано, как опубликовать артефакт для удаления в конвейере. Используйте задачу копирования файлов, чтобы скопировать пакеты в целевую папку, а затем использовать артефакты сборки для публикации артефактов сборки в Azure Pipelines.
- task: CopyFiles@2
inputs:
Contents: '**'
TargetFolder: '$(build.artifactstagingdirectory)'
- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: '$(Build.ArtifactStagingDirectory)'
ArtifactName: 'drop'
publishLocation: 'Container'
Публикация пакетов в веб-канале
Чтобы опубликовать пакет в веб-канале Артефактов Azure, используйте задачу Maven для развертывания артефакта в веб-канале.
- task: Maven@3
inputs:
mavenPomFile: 'my-app/pom.xml'
mavenOptions: '-Xmx3072m'
javaHomeOption: 'JDKVersion'
jdkVersionOption: '1.8'
jdkArchitectureOption: 'x64'
mavenAuthenticateFeed: true
publishJUnitResults: false
testResultsFiles: '**/surefire-reports/TEST-*.xml'
goals: 'deploy'
Вопросы и ответы
Вопрос. Как пройти проверку подлинности с помощью MavenAuthenticate?
Ответ. Вы можете использовать задачу MavenAuthenticate для проверки подлинности с помощью веб-каналов Maven внутри организации и за ее пределами. Дополнительные сведения см. в приведенных ниже примерах:
- Проверка подлинности с помощью веб-каналов Maven в организации
- Проверка подлинности с помощью веб-каналов Maven за пределами вашей организации