MavenAuthenticate@0: Maven Authenticate v0-Aufgabe

Verwenden Sie diese Aufgabe, um Anmeldeinformationen für Azure Artifacts-Feeds und externe Maven-Repositorys bereitzustellen.

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.

Eingaben

artifactsFeeds - Feeds
string.

Gibt eine durch Trennzeichen getrennte Liste von Azure Artifacts-Feednamen an, die bei Maven authentifiziert werden sollen. Wenn Sie nur eine Authentifizierung für externe Maven-Repositorys benötigen, lassen Sie dieses Feld leer.


mavenServiceConnections - Anmeldeinformationen für Repositorys außerhalb dieser Organisation/Sammlung
string.

Gibt eine durch Trennzeichen getrennte Liste der Maven-Dienstverbindungsnamen von externen Organisationen an, die bei Maven authentifiziert werden sollen. Wenn Sie nur die Authentifizierung für Azure Artifacts-Feeds benötigen, lassen Sie dieses Feld leer.


Aufgabensteuerungsoptionen

Alle Aufgaben verfügen zusätzlich zu ihren Aufgabeneingaben über Steuerungsoptionen. Weitere Informationen finden Sie unter Steuerungsoptionen und allgemeine Aufgabeneigenschaften.

Ausgabevariablen

Keine.

Bemerkungen

Gibt die Anmeldeinformationen für Azure Artifacts-Feeds und externe Maven-Repositorys in der Datei des settings.xml aktuellen Benutzers an.

Wo befindet sich die settings.xml Datei, die die authentifizierten Repositorys enthält?

Die Maven-Authentifizierungsaufgabe sucht nach der settings.xml Datei im Basisverzeichnis des aktuellen Benutzers. Für Linux und Mac lautet $HOME/.m2/settings.xmlder Pfad . Für Windows lautet %USERPROFILE%\.m2\settings.xmlder Pfad . Wenn die settings.xml Datei nicht vorhanden ist, wird an diesem Pfad eine neue Datei erstellt.

Wir verwenden den mvn -s Schalter, um unsere eigene settings.xml Datei anzugeben. Wie authentifizieren wir Azure Artifacts-Feeds dort?

Der Maven Authenticate-Task hat keinen Zugriff auf die benutzerdefinierte settings.xml Datei, die mithilfe eines -s Schalters angegeben wird. Um Ihrer benutzerdefinierten settings.xmlAzure Artifacts-Authentifizierung hinzuzufügen, fügen Sie in Ihrer settings.xml Datei ein Serverelement hinzu:

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

Die Zugriffstokenvariable kann in Ihren Pipelines mithilfe dieser Anweisungen festgelegt werden.

Meine Pipeline muss auf einen Feed in einem anderen Projekt zugreifen.

Wenn die Pipeline in einem anderen Projekt als dem Projekt ausgeführt wird, das den Feed hostet, müssen Sie das andere Projekt einrichten, um Lese-/Schreibzugriff auf den Builddienst zu gewähren. Weitere Informationen finden Sie unter Paketberechtigungen in Azure Pipelines .

Beispiele

Authentifizieren von Maven-Feeds in Ihrer Organisation

In diesem Beispiel authentifizieren wir zwei Azure Artifacts-Feeds innerhalb unserer Organisation.

Aufgabendefinition

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

Die MavenAuthenticate Aufgabe aktualisiert die Datei, die settings.xml sich im Verzeichnis .m2 des Agentbenutzers befindet, das sich unter {user.home}/.m2/settings.xml befindet, und fügt zwei Einträge innerhalb des <servers> Elements hinzu.

settings.xml

<servers>
  <server>
    <id>MyFeedInOrg1</id>
    <username>AzureDevOps</username>
    <password>****</password>
  </server>
  <server>
    <id>MyFeedInOrg2</id>
    <username>AzureDevOps</username>
    <password>****</password>
  </server>
</servers>

Um die Aufgabe ordnungsgemäß zu authentifizieren, legen Sie die Repositorys pom.xml in ihrem Projekt auf den namen fest <id> , der in der Aufgabe für Maven angegeben ist.

pom.xml

Projektbezogener Feed

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

Organisationsbezogener Feed

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

Die Artifacts-Feed-URL kann das Projekt enthalten oder nicht. Eine URL für einen projektbezogenen Feed muss das Projekt enthalten, und eine URL für einen Organisationsfeed darf das Projekt nicht enthalten. Erfahren Sie mehr über projektbezogene Feeds.

Authentifizieren von Maven-Feeds außerhalb Ihrer Organisation

In diesem Beispiel authentifizieren wir zwei externe Maven-Repositorys.

Aufgabendefinition

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

Die MavenAuthenticate Aufgabe aktualisiert die Datei, die settings.xml sich im Verzeichnis .m2 des Agentbenutzers befindet, das sich unter {user.home}/.m2/settings.xml befindet, und fügt zwei Einträge innerhalb des <servers> Elements hinzu.

settings.xml

<servers>
  <server>
    <id>central</id>
    <username>centralUsername</username>
    <password>****</password>
  </server>
  <server>
    <id>MavenOrg</id>
    <username>mavenOrgUsername</username>
    <password>****</password>
  </server>
</servers>

Um die Aufgabe ordnungsgemäß zu authentifizieren, legen Sie die Repositorys pom.xml in ihrem Projekt auf den namen fest <id> , der in der Aufgabe für Maven angegeben ist.

pom.xml

<repository>
  <id>central</id>
  <url>https://repo1.maven.org/maven2/</url>
  <releases>
    <enabled>true</enabled>
  </releases>
  <snapshots>
    <enabled>true</enabled>
  </snapshots>
</repository>

Anforderungen

Anforderung BESCHREIBUNG
Pipelinetypen YAML, Klassischer Build, klassisches Release
Wird ausgeführt auf Agent, DeploymentGroup
Forderungen Keine
Capabilities Diese Aufgabe erfüllt keine Anforderungen an nachfolgende Aufgaben im Auftrag.
Befehlseinschränkungen Any
Setzbare Variablen Any
Agent-Version 2.144.0 oder höher
Aufgabenkategorie Paket
Anforderung BESCHREIBUNG
Pipelinetypen YAML, Klassischer Build, klassisches Release
Wird ausgeführt auf Agent, DeploymentGroup
Forderungen Keine
Capabilities Diese Aufgabe erfüllt keine Anforderungen an nachfolgende Aufgaben im Auftrag.
Befehlseinschränkungen Any
Setzbare Variablen Any
Agent-Version 2.120.0 oder höher
Aufgabenkategorie Paket