次の方法で共有


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


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

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

出力変数

なし。

注釈

現在のユーザーの 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.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 フィードを認証する
  • 組織外の Maven フィードを認証する

組織内の Maven フィードを認証する

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

タスクの定義

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

MavenAuthenticate タスクは、{user.home}/.m2/settings.xml にあるエージェント ユーザーの .m2 ディレクトリに存在する settings.xml ファイルを更新して、<servers> 要素内に 2 つのエントリを追加します。

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

MavenAuthenticate タスクは、{user.home}/.m2/settings.xml にあるエージェント ユーザーの .m2 ディレクトリに存在する settings.xml ファイルを更新して、<servers> 要素内に 2 つのエントリを追加します。

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
の需要 なし
機能の このタスクは、ジョブ内の後続のタスクに対する要求を満たしていません。
コマンドの制限 どれでも
設定可能な変数 どれでも
エージェントのバージョン 2.144.0 以上
タスク カテゴリ Package
要件 説明
パイプラインの種類 YAML、クラシック ビルド、クラシック リリース
実行日 エージェント、DeploymentGroup
の需要 なし
機能の このタスクは、ジョブ内の後続のタスクに対する要求を満たしていません。
コマンドの制限 どれでも
設定可能な変数 どれでも
エージェントのバージョン 2.120.0 以上
タスク カテゴリ Package