共用方式為


MavenAuthenticate@0 - Maven 驗證 v0 工作

使用此工作來提供 Azure Artifacts 摘要和外部 Maven 存放庫的認證。

Syntax

# 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.

指定以逗號分隔的 Azure Artifacts 摘要名稱清單,以使用 Maven 進行驗證。 如果您只需要外部 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.xmlsettings.xml如果檔案不存在,將會在該路徑建立新的檔案。

mvn -s我們使用 參數來指定自己的 settings.xml 檔案。 我們如何在該處驗證 Azure Artifacts 摘要?

Maven 驗證工作無法存取使用 -s 參數所指定的自訂 settings.xml 檔案。 若要將 Azure Artifacts 驗證新增至您的自訂 settings.xml ,請在檔案 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 會更新 settings.xml 代理程式使用者 .m2 目錄中存在的檔案, {user.home}/.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 會更新 settings.xml 代理程式使用者 .m2 目錄中存在的檔案, {user.home}/.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、傳統組建、傳統版本
在 上執行 Agent、DeploymentGroup
要求
Capabilities 此工作不符合作業中後續工作的任何需求。
命令限制 任意
可設定變數 任意
代理程式版本 2.144.0 或更新版本
工作類別 套件
需求 描述
管線類型 YAML、傳統組建、傳統版本
在 上執行 Agent、DeploymentGroup
要求
Capabilities 此工作不符合作業中後續工作的任何需求。
命令限制 任意
可設定變數 任意
代理程式版本 2.120.0 或更新版本
工作類別 套件