Azure Pipelines를 사용하여 Maven 아티팩트 게시
Azure Pipelines를 사용하여 Maven 패키지를 Azure Artifacts 피드, 공용 레지스트리에 게시하거나 파이프라인 아티팩트로 게시할 수 있습니다.
프로젝트 설정
pom.xml 파일의 섹션 및
distributionManagement
섹션에 다음 코드repositories
조각을 추가합니다. 자리 표시자를 조직 이름, 프로젝트 이름 및 피드 이름으로 바꿉니다.<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>
다음과 같이 settings.xml 파일을 구성합니다. 자리 표시자를 조직 이름, 프로젝트 이름 및 개인 액세스 토큰으로 바꿉 있습니다.
<server> <id>PROJECT-NAME</id> <username>ORGANIZATION-NAME</username> <password>PERSONAL-ACCESS-TOKEN</password> </server>
패키징 읽기 및 쓰기 범위를 사용하여 개인용 액세스 토큰을 만들고 settings.xml 파일의
password
태그에 붙여넣습니다.
코드 빌드
이 예제에서는 Maven 작업을 사용하여 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'
파이프라인에 패키지 게시
다음 예제에서는 파이프라인에 삭제할 아티팩트 게시 방법을 보여 줍니다. 파일 복사 작업을 사용하여 패키지를 대상 폴더에 복사한 다음 빌드 아티팩트 게시를 사용하여 빌드 아티팩트를 Azure Pipelines에 게시합니다.
- task: CopyFiles@2
inputs:
Contents: '**'
TargetFolder: '$(build.artifactstagingdirectory)'
- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: '$(Build.ArtifactStagingDirectory)'
ArtifactName: 'drop'
publishLocation: 'Container'
피드에 패키지 게시
Azure Artifacts 피드에 패키지를 게시하려면 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'
Q&A
Q: MavenAuthenticate를 사용하여 인증하는 방법
A: MavenAuthenticate 작업을 사용하여 조직 내부 및 외부에서 Maven 피드를 인증할 수 있습니다. 자세한 내용은 아래 예제를 참조하세요.