Menerbitkan artefak Maven dengan Azure Pipelines

Menggunakan Azure Pipelines, Anda dapat menerbitkan paket Maven Anda ke umpan Artefak Azure, pendaftar publik, atau sebagai artefak alur.

Menyiapkan proyek Anda

  1. Tambahkan cuplikan berikut ke bagian repositories dan distributionManagement di file pom.xml Anda. Ganti tempat penampung dengan nama organisasi, nama proyek, dan nama umpan Anda.

    <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. Konfigurasikan file settings.xml Anda sebagai berikut. Ganti tempat penampung dengan nama organisasi, nama proyek, dan token akses pribadi Anda.

    <server>
      <id>PROJECT-NAME</id>
      <username>ORGANIZATION-NAME</username>
      <password>PERSONAL-ACCESS-TOKEN</password>
    </server>
    
  3. Buat Token Akses Pribadi dengan Kemasan baca & tulis cakupan dan tempelkan ke password tag di file settings.xml Anda.

Membuat kode Anda

Dalam contoh ini, kita menggunakan tugas Maven untuk membangun proyek dengan 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'

Menerbitkan paket ke alur Anda

Contoh berikut mengilustrasikan cara menerbitkan artefak Anda untuk dihilangkan di alur Anda. Gunakan tugas Salin file untuk menyalin paket Anda ke folder target, lalu gunakan Terbitkan Artefak Build untuk menerbitkan artefak build Anda ke 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.

Terbitkan paket ke umpan Anda

Untuk menerbitkan paket Anda ke umpan Azure Artifacts, gunakan tugas Maven untuk menyebarkan artefak Anda ke umpan Anda.

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

T&J

T: Bagaimana cara mengautentikasi dengan MavenAuthenticate?

A: Anda dapat menggunakan tugas MavenAuthenticate untuk mengautentikasi dengan umpan Maven di dalam dan di luar organisasi Anda. Lihat contoh di bawah ini untuk detail selengkapnya: