Publicera Maven-artefakter med Azure Pipelines
Med Azure Pipelines kan du publicera dina Maven-paket till Azure Artifacts-flöden, offentliga register eller som en pipelineartefakt.
Konfigurera projektet
Lägg till följande kodfragment i avsnitten
repositories
ochdistributionManagement
i pom.xml-filen. Ersätt platshållarna med organisationens namn, projektnamnet och flödesnamnet.<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>
Konfigurera filen settings.xml enligt följande. Ersätt platshållarna med ditt organisationsnamn, ditt projektnamn och din personliga åtkomsttoken.
<server> <id>PROJECT-NAME</id> <username>ORGANIZATION-NAME</username> <password>PERSONAL-ACCESS-TOKEN</password> </server>
Skapa en personlig åtkomsttoken med paketera läs- och skrivomfattning och klistra in den i taggen
password
i filen settings.xml .
Skapa din kod
I det här exemplet använder vi Maven-uppgiften för att skapa projektet med 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'
Publicera paket till din pipeline
I följande exempel visas hur du publicerar artefakten så att den släpps i pipelinen. Använd aktiviteten Kopiera filer för att kopiera paketen till en målmapp och använd sedan Publicera byggartefakter för att publicera dina byggartefakter till Azure Pipelines.
- task: CopyFiles@2
inputs:
Contents: '**'
TargetFolder: '$(build.artifactstagingdirectory)'
- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: '$(Build.ArtifactStagingDirectory)'
ArtifactName: 'drop'
publishLocation: 'Container'
Publicera paket i feeden
Om du vill publicera paketet i en Azure Artifacts-feed använder du Maven-uppgiften för att distribuera artefakten till feeden.
- 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'
Vanliga frågor och svar
F: Hur autentiserar du med MavenAuthenticate?
S: Du kan använda MavenAuthenticate-uppgiften för att autentisera med Maven-feeds i och utanför organisationen. Mer information finns i exemplen nedan: