Publikowanie artefaktów maven za pomocą usługi Azure Pipelines
Przy użyciu usługi Azure Pipelines można publikować pakiety narzędzia Maven w kanałach informacyjnych usługi Azure Artifacts, publicznych rejestrach lub jako artefakt potoku.
konfigurowanie projektu
Dodaj następujący fragment kodu do
repositories
sekcji idistributionManagement
w pliku pom.xml . Zastąp symbole zastępcze nazwą swojej organizacji, nazwą projektu i nazwą swojego kanału informacyjnego.<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>
Skonfiguruj plik settings.xml w następujący sposób. Zastąp symbole zastępcze nazwą organizacji, nazwą projektu i osobistym tokenem dostępu.
<server> <id>PROJECT-NAME</id> <username>ORGANIZATION-NAME</username> <password>PERSONAL-ACCESS-TOKEN</password> </server>
Utwórz osobisty token dostępu z zakresem odczytu i zapisu pakietu i wklej go do tagu
password
w pliku settings.xml.
Tworzenie kodu
W tym przykładzie używamy zadania Maven do skompilowania projektu za pomocą usługi 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'
Publikowanie pakietów w potoku
Poniższy przykład ilustruje sposób publikowania artefaktu w celu porzucenia potoku. Za pomocą zadania Kopiowanie plików skopiuj pakiety do folderu docelowego, a następnie użyj polecenia Publish Build Artifacts (Publikuj artefakty kompilacji), aby opublikować artefakty kompilacji w usłudze Azure Pipelines.
- task: CopyFiles@2
inputs:
Contents: '**'
TargetFolder: '$(build.artifactstagingdirectory)'
- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: '$(Build.ArtifactStagingDirectory)'
ArtifactName: 'drop'
publishLocation: 'Container'
Publikowanie pakietów w kanale informacyjnym
Aby opublikować pakiet w kanale informacyjnym usługi Azure Artifacts, użyj zadania Maven, aby wdrożyć artefakt w kanale informacyjnym.
- 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'
Pytania i odpowiedzi
Pyt.: Jak uwierzytelniać się za pomocą protokołu MavenAuthenticate?
Uwierzytelnianie: Możesz użyć zadania MavenAuthenticate do uwierzytelniania za pomocą źródeł danych Maven wewnątrz i poza organizacją. Aby uzyskać więcej informacji, zobacz poniższe przykłady:
- Uwierzytelnianie za pomocą źródeł danych Maven w organizacji
- Uwierzytelnianie za pomocą źródeł danych Maven spoza organizacji