Dela via


MavenAuthenticate@0 – Maven Authenticate v0-uppgift

Använd den här uppgiften för att ange autentiseringsuppgifter för Azure Artifacts-feeds och externa Maven-lagringsplatser.

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.

Ingångar

artifactsFeeds - feeds
string.

Anger en kommaavgränsad lista över Azure Artifacts-feednamn som ska autentiseras med Maven. Om du bara behöver autentisering för externa Maven-lagringsplatser lämnar du fältet tomt.


mavenServiceConnections - autentiseringsuppgifter för lagringsplatser utanför organisationen/samlingen
string.

Anger en kommaavgränsad lista över Maven-tjänstanslutning namn från externa organisationer för att autentisera med Maven. Om du bara behöver autentisering för Azure Artifacts-feeds lämnar du fältet tomt.


Kontrollalternativ för aktivitet

Alla aktiviteter har kontrollalternativ utöver sina aktivitetsindata. Mer information finns i Kontrollalternativ och vanliga uppgiftsegenskaper.

Utdatavariabler

Ingen.

Anmärkningar

Anger autentiseringsuppgifterna för Azure Artifacts-feeds och externa Maven-lagringsplatser i den aktuella användarens settings.xml-fil.

Var finns den settings.xml filen som innehåller de autentiserade lagringsplatserna?

Maven Authenticate-aktiviteten söker efter den settings.xml filen i den aktuella användarens hemkatalog. För Linux och Mac är sökvägen $HOME/.m2/settings.xml. För Windows är sökvägen %USERPROFILE%\.m2\settings.xml. Om den settings.xml filen inte finns skapas en ny på den sökvägen.

Vi använder växeln mvn -s för att ange vår egen settings.xml fil. Hur autentiserar vi Azure Artifacts-feeds där?

Maven Authenticate-aktiviteten har inte åtkomst till den anpassade settings.xml fil som anges med hjälp av en -s växel. Om du vill lägga till Azure Artifacts-autentisering i din anpassade settings.xmllägger du till ett serverelement i din settings.xml-fil:

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

Variabeln för åtkomsttoken kan anges i dina pipelines med hjälp av dessa instruktioner.

Min pipeline måste komma åt en feed i ett annat projekt

Om pipelinen körs i ett annat projekt än det projekt som är värd för flödet måste du konfigurera det andra projektet för att bevilja läs-/skrivåtkomst till byggtjänsten. Mer information finns i Paketbehörigheter i Azure Pipelines.

Exempel

Autentisera Maven-feeds i din organisation

I det här exemplet autentiserar vi två Azure Artifacts-feeds i vår organisation.

Uppgiftsdefinition

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

Den MavenAuthenticate uppgiften uppdaterar settings.xml-filen som finns i agentanvändarens .m2-katalog som finns på {user.home}/.m2/settings.xml för att lägga till två poster i <servers>-elementet.

settings.xml

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

Om du vill autentisera aktiviteten korrekt anger du lagringsplatserna i projektets pom.xml till samma <id> som namnet som angavs i aktiviteten för Maven.

pom.xml

Flöde för projektomfattning

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

Flöde med organisationsomfattning

 <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:en för artefaktfeed kanske inte innehåller projektet. En URL för ett flöde med projektomfattning måste innehålla projektet och en URL för ett flöde med organisationsomfattning får inte innehålla projektet. Läs mer om projektomfattande feeds.

Autentisera Maven-feeds utanför organisationen

I det här exemplet autentiserar vi två externa Maven-lagringsplatser.

Uppgiftsdefinition

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

Den MavenAuthenticate aktiviteten uppdaterar settings.xml-filen som finns i agentanvändarkatalogen .m2 som finns på {user.home}/.m2/settings.xml för att lägga till två poster i <servers>-elementet.

settings.xml

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

Om du vill autentisera aktiviteten korrekt anger du lagringsplatserna i projektets pom.xml till samma <id> som namnet som angavs i aktiviteten för Maven.

pom.xml

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

Krav

Krav Beskrivning
Pipelinetyper YAML, klassisk version, klassisk version
Körs på Agent, DeploymentGroup
kräver Ingen
funktioner Den här aktiviteten uppfyller inte några krav på efterföljande uppgifter i jobbet.
Kommandobegränsningar Vilken som helst
variabler som kan Vilken som helst
Agentversion 2.144.0 eller senare
Aktivitetskategori Paket
Krav Beskrivning
Pipelinetyper YAML, klassisk version, klassisk version
Körs på Agent, DeploymentGroup
kräver Ingen
funktioner Den här aktiviteten uppfyller inte några krav på efterföljande uppgifter i jobbet.
Kommandobegränsningar Vilken som helst
variabler som kan Vilken som helst
Agentversion 2.120.0 eller senare
Aktivitetskategori Paket