Delen via


MavenAuthenticate@0 - Maven-taak verifiëren v0

Gebruik deze taak om referenties op te geven voor Azure Artifacts-feeds en externe Maven-opslagplaatsen.

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.

Invoerwaarden

artifactsFeeds - Feeds
string.

Hiermee geeft u een door komma's gescheiden lijst met azure artifacts-feednamen op om te verifiëren met Maven. Als u alleen verificatie nodig hebt voor externe Maven-opslagplaatsen, laat u dit veld leeg.


mavenServiceConnections - Referenties voor opslagplaatsen buiten deze organisatie/verzameling
string.

Hiermee geeft u een door komma's gescheiden lijst met maven-serviceverbindingsnamen van externe organisaties op om te verifiëren met Maven. Als u alleen verificatie nodig hebt voor Azure Artifacts-feeds, laat u dit veld leeg.


Opties voor taakbeheer

Alle taken hebben naast de taakinvoer besturingsopties. Zie Opties voor besturingselementen en algemene taakeigenschappen voor meer informatie.

Uitvoervariabelen

Geen.

Opmerkingen

Hiermee geeft u de referenties op voor Azure Artifacts-feeds en externe Maven-opslagplaatsen in het bestand van settings.xml de huidige gebruiker.

Waar bevindt het settings.xml bestand met de geverifieerde opslagplaatsen zich?

Met de maven-verificatietaak wordt gezocht naar het settings.xml bestand in de basismap van de huidige gebruiker. Voor Linux en Mac is $HOME/.m2/settings.xmlhet pad . Voor Windows is %USERPROFILE%\.m2\settings.xmlhet pad . Als het settings.xml bestand niet bestaat, wordt er een nieuw bestand gemaakt op dat pad.

We gebruiken de mvn -s schakeloptie om ons eigen settings.xml bestand op te geven. Hoe verifiëren we daar Azure Artifacts-feeds?

De Maven-verificatietaak heeft geen toegang tot het aangepaste settings.xml bestand dat is opgegeven met behulp van een -s schakeloptie. Als u Azure Artifacts-verificatie wilt toevoegen aan uw aangepaste settings.xml, voegt u een serverelement toe aan uw settings.xml bestand:

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

De toegangstokenvariabele kan worden ingesteld in uw pijplijnen met behulp van deze instructies.

Mijn pijplijn moet toegang hebben tot een feed in een ander project

Als de pijplijn wordt uitgevoerd in een ander project dan het project dat als host fungeert voor de feed, moet u het andere project zo instellen dat lees-/schrijftoegang wordt verleend aan de buildservice. Zie Pakketmachtigingen in Azure Pipelines voor meer informatie.

Voorbeelden

Maven-feeds binnen uw organisatie verifiëren

In dit voorbeeld verifiëren we twee Azure Artifacts-feeds binnen onze organisatie.

Taakdefinitie

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

Met de MavenAuthenticate taak wordt het settings.xml bestand bijgewerkt dat aanwezig is in de map .m2 van de agentgebruiker in {user.home}/.m2/settings.xml om twee vermeldingen in het <servers> element toe te voegen.

settings.xml

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

Als u de taak correct wilt verifiëren, stelt u de opslagplaatsen in uw project in pom.xml op dezelfde <id> naam als de naam die is opgegeven in de taak voor Maven.

pom.xml

Feed met projectbereik

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

Feed met organisatiebereik

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

De URL van de artefactenfeed bevat het project mogelijk wel of niet. Een URL voor een feed met projectbereik moet het project bevatten en een URL voor een feed met organisatiebereik mag het project niet bevatten. Meer informatie over feeds met projectbereik.

Maven-feeds buiten uw organisatie verifiëren

In dit voorbeeld verifiëren we twee externe Maven-opslagplaatsen.

Taakdefinitie

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

De MavenAuthenticate taak werkt het settings.xml bestand bij dat aanwezig is in de map .m2 van de agentgebruikers op {user.home}/.m2/settings.xml om twee vermeldingen in het <servers> element toe te voegen.

settings.xml

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

Als u de taak correct wilt verifiëren, stelt u de opslagplaatsen in uw project in pom.xml op dezelfde <id> naam als de naam die is opgegeven in de taak voor 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>

Vereisten

Vereiste Beschrijving
Pijplijntypen YAML, klassieke build, klassieke release
Wordt uitgevoerd op Agent, DeploymentGroup
Eisen Geen
Functies Deze taak voldoet niet aan eventuele vereisten voor volgende taken in de taak.
Opdrachtbeperkingen Alle
Instelbare variabelen Alle
Agentversie 2.144.0 of hoger
Taakcategorie Pakket
Vereiste Beschrijving
Pijplijntypen YAML, klassieke build, klassieke release
Wordt uitgevoerd op Agent, DeploymentGroup
Eisen Geen
Functies Deze taak voldoet niet aan eventuele vereisten voor volgende taken in de taak.
Opdrachtbeperkingen Alle
Instelbare variabelen Alle
Agentversie 2.120.0 of hoger
Taakcategorie Pakket