Publicar artefatos do Maven com o Azure Pipelines
Usando o Azure Pipelines, você pode publicar seus pacotes Maven em feeds do Azure Artifacts, registros públicos ou como um artefato de pipeline.
Configurar o seu projeto
Adicione o snippet a seguir às seções
repositories
edistributionManagement
no arquivo pom.xml. Substitua os espaços reservados pelo nome da organização, pelo nome do projeto e pelo nome do feed.<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>
Configure seu arquivo settings.xml da seguinte maneira. Substitua os espaços reservados pelo nome da organização, pelo nome do projeto e pelo token de acesso pessoal.
<server> <id>PROJECT-NAME</id> <username>ORGANIZATION-NAME</username> <password>PERSONAL-ACCESS-TOKEN</password> </server>
Crie um Token de Acesso Pessoal com o escopo Empacotamento (Leitura e Gravação) e cole-o na marca
password
no arquivo settings.xml.
Compilar o código
Neste exemplo, estamos usando a tarefa Maven para compilar o projeto com o 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'
Publicar pacotes no pipeline
O exemplo a seguir ilustra como publicar seu artefato para soltar no pipeline. Use a tarefa Copiar arquivos para copiar seus pacotes para uma pasta de destino e, em seguida, use Publicar Artefatos de Build para publicar seus artefatos de build no Azure Pipelines.
- task: CopyFiles@2
inputs:
Contents: '**'
TargetFolder: '$(build.artifactstagingdirectory)'
- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: '$(Build.ArtifactStagingDirectory)'
ArtifactName: 'drop'
publishLocation: 'Container'
Publicar pacotes no feed
Para publicar seu pacote em um feed do Azure Artifacts, use a tarefa Maven para implantar seu artefato no feed.
- 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'
Perguntas e respostas
P: Como autenticar com MavenAuthenticate?
R: Você pode usar a tarefa MavenAuthenticate para autenticar com feeds do Maven dentro e fora da sua organização. Confira os exemplos abaixo para obter mais detalhes:
- Autenticar com feeds do Maven dentro de sua organização
- Autenticar com feeds do Maven fora da sua organização