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.
Eingänge
artifactsFeeds
-
Feeds
string
.
Gibt eine durch Trennzeichen getrennte Liste der 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 von Maven-Dienstverbindung Namen externer Organisationen an, um sich bei Maven zu authentifizieren. Wenn Sie nur 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 Steuerelementoptionen und allgemeinen Aufgabeneigenschaften.
Ausgabevariablen
Keiner.
Bemerkungen
Gibt die Anmeldeinformationen für Azure Artifacts-Feeds und externe Maven-Repositorys in der settings.xml
-Datei des aktuellen Benutzers an.
-
Wo befindet sich die
settings.xml
Datei, die die authentifizierten Repositorys enthält? - Wir verwenden den
mvn -s
Switch, 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 Authenticate-Aufgabe sucht im Startverzeichnis des aktuellen Benutzers nach der settings.xml
Datei. Für Linux und Mac ist der Pfad $HOME/.m2/settings.xml
. Für Windows ist der Pfad %USERPROFILE%\.m2\settings.xml
. Wenn die settings.xml
Datei nicht vorhanden ist, wird unter diesem Pfad ein neues erstellt.
Wir verwenden den mvn -s
Switch, um unsere eigene settings.xml
Datei anzugeben. Wie authentifizieren wir Azure Artifacts-Feeds dort?
Die Maven Authenticate-Aufgabe hat keinen Zugriff auf die benutzerdefinierte settings.xml
Datei, die mithilfe eines -s
Schalters angegeben wird. Um Ihrer benutzerdefinierten settings.xml
die Azure Artifacts-Authentifizierung hinzuzufügen, fügen Sie ein Serverelement in Ihrer settings.xml
Datei 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 Anweisungenfestgelegt werden.
Meine Pipeline muss auf einen Feed in einem anderen Projekt zugreifen.
Wenn die Pipeline in einem anderen Projekt ausgeführt wird als das Projekt, 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 innerhalb Ihrer Organisation
- Authentifizieren von Maven-Feeds außerhalb Ihrer Organisation
Authentifizieren von Maven-Feeds innerhalb 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 settings.xml
Datei, die im M2-Verzeichnis des Agents vorhanden ist, das sich in {user.home}/.m2/settings.xml
befindet, um zwei Einträge innerhalb des <servers>
-Elements hinzuzufügen.
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 den Vorgang ordnungsgemäß zu authentifizieren, legen Sie die Repositorys in den pom.xml
Ihres Projekts auf denselben <id>
wie der im Vorgang für Maven angegebene Name fest.
pom.xml
Projektbereichsfeed
<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>
Organisationsbereichsfeed
<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 Url des Artefaktfeeds kann das Projekt enthalten oder nicht. Eine URL für einen Projektbereichsfeed muss das Projekt enthalten, und eine URL für einen vom Unternehmen bezogenen Feed darf das Projekt nicht enthalten. Erfahren Sie mehr über projektbezogenen 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 settings.xml
Datei, die im M2-Verzeichnis des Agents vorhanden ist, das sich in {user.home}/.m2/settings.xml
befindet, um zwei Einträge innerhalb des <servers>
-Elements hinzuzufügen.
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 den Vorgang ordnungsgemäß zu authentifizieren, legen Sie die Repositorys in den pom.xml
Ihres Projekts auf denselben <id>
wie der im Vorgang für Maven angegebene Name fest.
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, Classic Build, Classic Release |
Läuft auf | Agent, DeploymentGroup |
Anforderungen | Nichts |
Funktionen | Dieser Vorgang erfüllt keine Anforderungen für nachfolgende Vorgänge im Auftrag. |
Befehlseinschränkungen | Jegliche |
Settable-Variablen | Jegliche |
Agentversion | 2.144.0 oder höher |
Vorgangskategorie | Paket |
Anforderung | BESCHREIBUNG |
---|---|
Pipelinetypen | YAML, Classic Build, Classic Release |
Läuft auf | Agent, DeploymentGroup |
Anforderungen | Nichts |
Funktionen | Dieser Vorgang erfüllt keine Anforderungen für nachfolgende Vorgänge im Auftrag. |
Befehlseinschränkungen | Jegliche |
Settable-Variablen | Jegliche |
Agentversion | 2.120.0 oder höher |
Vorgangskategorie | Paket |