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? - Wir verwenden den
mvn -s
Schalter, um unsere eigenesettings.xml
Datei anzugeben. Wie authentifizieren wir Azure Artifacts-Feeds dort? - Meine Pipeline muss auf einen Feed in einem anderen Projekt zugreifen.
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.xml
der Pfad . Für Windows lautet %USERPROFILE%\.m2\settings.xml
der 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.xml
Azure 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
- Authentifizieren von Maven-Feeds außerhalb Ihrer Organisation
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 |