다음을 통해 공유


MavenAuthenticate@0 - Maven 인증 v0 작업

이 작업을 사용하여 Azure Artifacts 피드 및 외부 Maven 리포지토리에 대한 자격 증명을 제공합니다.

구문론

# Maven Authenticate v0
# Provides credentials for Azure Artifacts feeds and external maven repositories.
- task: MavenAuthenticate@0
  inputs:
    #artifactsFeeds: # string. Feeds. 
    #mavenServiceConnections: # string. Credentials for repositories outside this organization/collection.

입력

artifactsFeeds - 피드
string;

Maven을 사용하여 인증할 Azure Artifacts 피드 이름의 쉼표로 구분된 목록을 지정합니다. 외부 Maven 리포지토리에 대한 인증만 필요한 경우 이 필드를 비워 둡니다.


이 조직/컬렉션외부의 리포지토리에 대한 mavenServiceConnections - 자격 증명
string;

Maven을 사용하여 인증할 외부 조직의 이름을 Maven 서비스 연결의 쉼표로 구분된 목록을 지정합니다. Azure Artifacts 피드에 대한 인증만 필요한 경우 이 필드를 비워 둡니다.


작업 제어 옵션

모든 작업에는 작업 입력 외에 제어 옵션이 있습니다. 자세한 내용은 컨트롤 옵션 및 일반적인 작업 속성참조하세요.

출력 변수

없음.

비고

현재 사용자의 settings.xml 파일에서 Azure Artifacts 피드 및 외부 Maven 리포지토리에 대한 자격 증명을 지정합니다.

인증된 리포지토리가 포함된 settings.xml 파일은 어디에 있나요?

Maven 인증 태스크는 현재 사용자의 홈 디렉터리에서 settings.xml 파일을 검색합니다. Linux 및 Mac의 경우 경로가 $HOME/.m2/settings.xml. Windows의 경우 경로가 %USERPROFILE%\.m2\settings.xml. settings.xml 파일이 없으면 해당 경로에 새 파일이 만들어집니다.

mvn -s 스위치를 사용하여 자체 settings.xml 파일을 지정합니다. Azure Artifacts 피드를 인증하려면 어떻게 해야 하나요?

Maven 인증 태스크는 -s 스위치를 사용하여 지정한 사용자 지정 settings.xml 파일에 액세스할 수 없습니다. 사용자 지정 settings.xmlAzure Artifacts 인증을 추가하려면 settings.xml 파일 내에 서버 요소를 추가합니다.

<server>
  <id>feedName</id> <!-- Set this to the id of the <repository> element inside your pom.xml file. -->
  <username>AzureDevOps</username>
  <password>${env.SYSTEM_ACCESSTOKEN}</password>
</server>

액세스 토큰 변수는 이러한지침을 사용하여 파이프라인에서 설정할 수 있습니다.

내 파이프라인이 다른 프로젝트의 피드에 액세스해야 합니다.

파이프라인이 피드를 호스팅하는 프로젝트와 다른 프로젝트에서 실행되는 경우 빌드 서비스에 대한 읽기/쓰기 액세스 권한을 부여하도록 다른 프로젝트를 설정해야 합니다. 자세한 내용은 Azure Pipelines 패키지 권한을 참조하세요.

예시

조직 내에서 Maven 피드 인증

이 예제에서는 조직 내에서 두 개의 Azure Artifacts 피드를 인증합니다.

작업 정의

- task: MavenAuthenticate@0
  displayName: 'Maven Authenticate'
  inputs:
    artifactsFeeds: MyFeedInOrg1,MyFeedInOrg2

MavenAuthenticate 작업은 {user.home}/.m2/settings.xml 있는 에이전트 사용자의 .m2 디렉터리에 있는 settings.xml 파일을 업데이트하여 <servers> 요소 내에 두 개의 항목을 추가합니다.

settings.xml

<servers>
  <server>
    <id>MyFeedInOrg1</id>
    <username>AzureDevOps</username>
    <password>****</password>
  </server>
  <server>
    <id>MyFeedInOrg2</id>
    <username>AzureDevOps</username>
    <password>****</password>
  </server>
</servers>

작업을 올바르게 인증하려면 프로젝트 pom.xml 있는 리포지토리를 Maven 작업에 지정된 이름과 동일한 <id> 설정합니다.

pom.xml

프로젝트 범위 피드

 <repository>
   <id>MyFeedInOrg1</id>
   <url>https://pkgs.dev.azure.com/OrganizationName/ProjectName/_packaging/MyProjectScopedFeed1/Maven/v1</url>
   <releases>
     <enabled>true</enabled>
   </releases>
   <snapshots>
     <enabled>true</enabled>
   </snapshots>
 </repository>

조직 범위 피드

 <repository>
   <id>MyFeedInOrg1</id>
   <url>https://pkgs.dev.azure.com/OrganizationName/_packaging/MyOrgScopedFeed1/Maven/v1</url>
   <releases>
     <enabled>true</enabled>
   </releases>
   <snapshots>
     <enabled>true</enabled>
   </snapshots>
 </repository>

아티팩트 피드 URL은 프로젝트를 포함하거나 포함하지 않을 수 있습니다. 프로젝트 범위 피드의 URL에는 프로젝트가 포함되어야 하며 조직 범위 피드의 URL에는 프로젝트가 포함되어서는 안됩니다. 프로젝트 범위 피드 대해 자세히 알아봅니다.

조직 외부의 Maven 피드 인증

이 예제에서는 두 개의 외부 Maven 리포지토리를 인증합니다.

작업 정의

- task: MavenAuthenticate@0
  displayName: 'Maven Authenticate'
  inputs:
    MavenServiceConnections: central,MavenOrg

MavenAuthenticate 작업은 {user.home}/.m2/settings.xml 있는 에이전트 사용자의 .m2 디렉터리에 있는 settings.xml 파일을 업데이트하여 <servers> 요소 내에 두 개의 항목을 추가합니다.

settings.xml

<servers>
  <server>
    <id>central</id>
    <username>centralUsername</username>
    <password>****</password>
  </server>
  <server>
    <id>MavenOrg</id>
    <username>mavenOrgUsername</username>
    <password>****</password>
  </server>
</servers>

작업을 올바르게 인증하려면 프로젝트 pom.xml 있는 리포지토리를 Maven 작업에 지정된 이름과 동일한 <id> 설정합니다.

pom.xml

<repository>
  <id>central</id>
  <url>https://repo1.maven.org/maven2/</url>
  <releases>
    <enabled>true</enabled>
  </releases>
  <snapshots>
    <enabled>true</enabled>
  </snapshots>
</repository>

요구 사항

요구 사항 설명
파이프라인 유형 YAML, 클래식 빌드, 클래식 릴리스
다음에서 실행 에이전트, DeploymentGroup
요구 없음
기능 이 작업은 작업의 후속 작업에 대한 요구 사항을 충족하지 않습니다.
명령 제한 어느 것이든
settable 변수 어느 것이든
에이전트 버전 2.144.0 이상
작업 범주 패키지
요구 사항 설명
파이프라인 유형 YAML, 클래식 빌드, 클래식 릴리스
다음에서 실행 에이전트, DeploymentGroup
요구 없음
기능 이 작업은 작업의 후속 작업에 대한 요구 사항을 충족하지 않습니다.
명령 제한 어느 것이든
settable 변수 어느 것이든
에이전트 버전 2.120.0 이상
작업 범주 패키지