共用方式為


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

指定以逗號分隔的 Azure Artifacts 摘要名稱清單,以使用 Maven 進行驗證。 如果您只需要外部 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 檔案。 若要將 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 工作會更新代理程式用戶位於 {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、傳統組建、傳統版本
執行於 Agent、DeploymentGroup
需求 沒有
功能 此工作不符合作業中後續工作的任何需求。
命令限制 任意
Settable 變數 任意
代理程式版本 2.144.0 或更新
工作類別 套件/包裹
要求 說明
管線類型 YAML、傳統組建、傳統版本
執行於 Agent、DeploymentGroup
需求 沒有
功能 此工作不符合作業中後續工作的任何需求。
命令限制 任意
Settable 變數 任意
代理程式版本 2.120.0 或更新
工作類別 套件/包裹