次の方法で共有


MavenAuthenticate@0 - Maven Authenticate 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 フィードの認証のみが必要な場合は、このフィールドを空白のままにします。


タスク コントロールのオプション

すべてのタスクには、タスク入力に加えて制御オプションがあります。 詳細については、「 コントロール オプションと一般的なタスク プロパティ」を参照してください。

出力変数

[なし] :

解説

現在のユーザーのファイル内の Azure Artifacts フィードと外部 Maven リポジトリの settings.xml 資格情報を指定します。

認証されたリポジトリを 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 フィードを認証する

この例では、組織内で 2 つの Azure Artifacts フィードを認証します。

タスク定義

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

タスクは MavenAuthenticatesettings.xml にあるエージェント ユーザーの .m2 ディレクトリ {user.home}/.m2/settings.xml に存在するファイルを更新して、 要素内に 2 つのエントリを <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>

Artifacts フィード URL には、プロジェクトが含まれている場合と含まれていない場合があります。 プロジェクト スコープ フィードの URL にはプロジェクトを含める必要があり、組織を対象範囲とするフィードの URL にはプロジェクトを含めてはいけません。 プロジェクト スコープフィードの詳細については、こちらを参照してください。

組織外で Maven フィードを認証する

この例では、2 つの外部 Maven リポジトリを認証します。

タスク定義

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

このタスクは MavenAuthenticatesettings.xml にあるエージェント ユーザーの .m2 ディレクトリ {user.home}/.m2/settings.xml に存在するファイルを更新して、 要素内に 2 つのエントリを <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
確認要求 なし
Capabilities このタスクは、ジョブ内の後続のタスクに対する要求を満たしていません。
コマンドの制限 Any
設定可能な変数 Any
エージェントのバージョン 2.144.0 以上
タスクのカテゴリ Package
要件 説明
パイプラインの種類 YAML、クラシック ビルド、クラシック リリース
上で実行 エージェント、DeploymentGroup
確認要求 なし
Capabilities このタスクは、ジョブ内の後続のタスクに対する要求を満たしていません。
コマンドの制限 Any
設定可能な変数 Any
エージェントのバージョン 2.120.0 以上
タスクのカテゴリ Package