Share via


Publicar artefatos do Maven com o Azure Pipelines

Com os Pipelines do Azure, pode publicar os pacotes Maven em feeds de Artefactos do Azure, registos públicos ou como um artefacto de pipeline.

Configure o seu projeto

  1. Adicione o seguinte trecho às seções e distributionManagement em repositories seu arquivo pom.xml. Substitua os marcadores de posição pelo nome da organização, o nome do projeto e o 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>
    
  2. Configure as configurações .xml arquivo 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>
    
  3. Crie um Token de Acesso Pessoal com Empacotamento, leia e escreva o escopo e cole-o password na tag em seu arquivo .xml configurações.

Crie seu código

Neste exemplo, estamos usando a tarefa Maven para criar 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 em seu pipeline. Use a tarefa Copiar arquivos para copiar seus pacotes para uma pasta de destino e, em seguida, use Publicar artefatos de compilação para publicar seus artefatos de compilação no Azure Pipelines.

- task: CopyFiles@2
  inputs:
    Contents: '**'
    TargetFolder: '$(build.artifactstagingdirectory)'
- task: PublishBuildArtifacts@1
  inputs:
    PathtoPublish: '$(Build.ArtifactStagingDirectory)'
    ArtifactName: 'drop'
    publishLocation: 'Container'

A screenshot showing the build artifact published to drop in Azure Pipelines.

Publicar pacotes no feed

Para publicar seu pacote em um feed de Artefatos do Azure, use a tarefa Maven para implantar seu artefato em seu 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'

A screenshot showing the build artifact published to a feed.

Perguntas e Respostas

P: Como autenticar com o MavenAuthenticate?

R: Você pode usar a tarefa MavenAuthenticate para autenticar com feeds Maven dentro e fora da sua organização. Veja os exemplos abaixo para obter mais detalhes: