Pubblicare artefatti Maven con Azure Pipelines
Con Azure Pipelines è possibile pubblicare i pacchetti Maven in feed di Azure Artifacts, i registri pubblici o come artefatto della pipeline.
Impostare il progetto
Aggiungere il frammento di codice seguente alle
repositories
sezioni edistributionManagement
nel file pom.xml . Sostituire i segnaposto con il nome dell'organizzazione, il nome del progetto e il nome del 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>
Configurare il file settings.xml come indicato di seguito. Sostituire i segnaposto con il nome dell'organizzazione, il nome del progetto e il token di accesso personale.
<server> <id>PROJECT-NAME</id> <username>ORGANIZATION-NAME</username> <password>PERSONAL-ACCESS-TOKEN</password> </server>
Creare un token di accesso personale con ambito di lettura e scrittura del pacchetto e incollarlo nel
password
tag nel file settings.xml .
Compilare il codice
In questo esempio si usa l'attività Maven per compilare il progetto con 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'
Pubblicare pacchetti nella pipeline
L'esempio seguente illustra come pubblicare l'artefatto da eliminare nella pipeline. Usare l'attività Copia file per copiare i pacchetti in una cartella di destinazione, quindi usare Pubblica artefatti di compilazione per pubblicare gli artefatti di compilazione in Azure Pipelines.
- task: CopyFiles@2
inputs:
Contents: '**'
TargetFolder: '$(build.artifactstagingdirectory)'
- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: '$(Build.ArtifactStagingDirectory)'
ArtifactName: 'drop'
publishLocation: 'Container'
Pubblicare pacchetti nel feed
Per pubblicare il pacchetto in un feed di Azure Artifacts, usare l'attività Maven per distribuire l'artefatto nel 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'
Domande e risposte
D: Come eseguire l'autenticazione con MavenAuthenticate?
R: È possibile usare l'attività MavenAuthenticate per eseguire l'autenticazione con i feed Maven all'interno e all'esterno dell'organizzazione. Per altri dettagli, vedere gli esempi seguenti:
- Eseguire l'autenticazione con i feed Maven all'interno dell'organizzazione
- Eseguire l'autenticazione con feed Maven all'esterno dell'organizzazione