Azure Pipelines ile Maven yapıtları yayımlama

Azure Pipelines’ı kullanarak Maven paketlerinizi Azure Artifacts akışlarına, genel kayıt defterlerine veya bir işlem hattı yapıtı olarak yayımlayabilirsiniz.

Projenizi ayarlama

  1. Pom.xml dosyanızdaki ve distributionManagement bölümlerine repositories aşağıdaki kod parçacığını ekleyin. Yer tutucuları organizasyonunuzun adı, proje adı ve akış adınızla değiştirin.

    <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. settings.xml dosyanızı aşağıdaki gibi yapılandırın. Yer tutucuları kuruluşunuzun adı, proje adınız ve kişisel erişim belirteciniz ile değiştirin.

    <server>
      <id>PROJECT-NAME</id>
      <username>ORGANIZATION-NAME</username>
      <password>PERSONAL-ACCESS-TOKEN</password>
    </server>
    
  3. Paketleme okuma ve yazma kapsamıyla bir Kişisel Erişim Belirteci oluşturun ve bunu settings.xml dosyanızdaki etikete password yapıştırın.

Kodunuzu oluşturma

Bu örnekte, Projeyi Azure Pipelines ile derlemek için Maven görevini kullanıyoruz.

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

Paketleri işlem hattınızda yayımlama

Aşağıdaki örnekte, yapıtınızın işlem hattınıza bırakıi olarak yayımlanması gösterilmektedir. Paketlerinizi bir hedef klasöre kopyalamak için Dosyaları kopyala görevini kullanın, ardından Derleme Yapıtlarını Yayımla'yı kullanarak derleme yapıtlarınızı Azure Pipelines'da yayımlayın.

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

Paketleri akışınızda yayımlama

Paketinizi bir Azure Artifacts akışında yayımlamak için Maven görevini kullanarak yapıtınızı akışınıza dağıtın.

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

Soru-Cevap

S: MavenAuthenticate ile kimlik doğrulaması nasıl yapılır?

Y: MavenAuthenticate görevini kullanarak kuruluşunuzun içindeki ve dışındaki Maven akışlarıyla kimlik doğrulaması yapabilirsiniz. Daha fazla ayrıntı için aşağıdaki örneklere bakın: