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
파일은 어디에 있나요? -
mvn -s
스위치를 사용하여 자체settings.xml
파일을 지정합니다. Azure Artifacts 피드를 인증하려면 어떻게 해야 하나요? - 내 파이프라인은 다른 프로젝트 피드에 액세스해야 합니다.
인증된 리포지토리가 포함된 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.xml
Azure 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>