Publikování artefaktů Mavenu pomocí Azure Pipelines

Pomocí služby Azure Pipelines můžete své balíčky Maven publikovat do informačních kanálů Azure Artifacts, veřejných registrů nebo jako artefakt kanálu.

Nastavení projektu

  1. Do souboru pom.xml přidejte následující fragment kódu repositories a distributionManagement oddíly. Zástupné symboly nahraďte názvem vaší organizace, názvem projektu a názvem informačního kanálu.

    <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. Následujícím způsobem nakonfigurujte soubor settings.xml . Zástupné symboly nahraďte názvem vaší organizace, názvem projektu a vaším osobním přístupovým tokenem.

    <server>
      <id>PROJECT-NAME</id>
      <username>ORGANIZATION-NAME</username>
      <password>PERSONAL-ACCESS-TOKEN</password>
    </server>
    
  3. Vytvořte osobní přístupový token s oborem čtení a zápisu balíčku a vložte ho password do značky v souboru settings.xml.

Sestavení kódu

V tomto příkladu používáme úlohu Maven k sestavení projektu pomocí 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'

Publikování balíčků do kanálu

Následující příklad ukazuje, jak publikovat artefakt, aby se v kanálu zahodil . Pomocí úlohy Kopírování souborů zkopírujte balíčky do cílové složky a pak pomocí funkce Publikovat artefakty sestavení publikujte artefakty sestavení do 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.

Publikování balíčků do informačního kanálu

Pokud chcete balíček publikovat do informačního kanálu Azure Artifacts, nasaďte artefakt do informačního kanálu pomocí úlohy Maven.

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

Otázky a odpovědi

Otázka: Jak se ověřit pomocí MavenAuthenticate?

A: Úlohu MavenAuthenticate můžete použít k ověření v informačních kanálech Mavenu uvnitř vaší organizace i mimo ni. Další podrobnosti najdete v následujících příkladech: