Partager via


Publier des artefacts Maven avec Azure Pipelines

À l’aide de Azure Pipelines, vous pouvez publier vos packages Maven dans des flux Azure Artifacts, des registres publics ou en tant qu’artefact de pipeline.

Configuration de votre projet

  1. Ajoutez l’extrait de code suivant aux sections repositories et distributionManagement de votre fichier pom.xml. Remplacez les espaces réservés par le nom de votre organisation, le nom du projet et le nom de votre flux.

    <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. Configurez votre fichier settings.xml comme suit. Remplacez les espaces réservés par le nom de votre organisation, le nom de votre projet et votre jeton d’accès personnel.

    <server>
      <id>PROJECT-NAME</id>
      <username>ORGANIZATION-NAME</username>
      <password>PERSONAL-ACCESS-TOKEN</password>
    </server>
    
  3. Créez un jeton d’accès personnel avec la portée Création de package (lecture et écriture) et collez-le dans la balise password de votre fichier settings.xml.

Générer votre code

Dans cet exemple, nous utilisons la tâche Maven pour générer le projet avec 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'

Publier des packages dans votre pipeline

L’exemple suivant montre comment publier votre artefact à déposer dans votre pipeline. Utilisez la tâche Copier les fichiers pour copier vos packages dans un dossier cible, puis utilisez Publier des artefacts de build pour publier vos artefacts de build dans 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.

Publier des packages dans votre flux

Pour publier votre package dans un flux Azure Artifacts, utilisez la tâche Maven afin de déployer votre artefact dans votre flux.

- 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.

Q&A

Q : Comment s’authentifier avec MavenAuthenticate ?

R : Vous pouvez utiliser la tâche MavenAuthenticate pour vous authentifier auprès de flux Maven dans votre organisation et hors de votre organisation. Pour obtenir des informations plus détaillées, consultez les exemples ci-dessous :