Dela via


Publicera Maven-artefakter med Azure Pipelines (YAML/klassisk)

Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022 | Azure DevOps Server 2020

Med Azure Pipelines kan utvecklare publicera Maven-artefakter till Azure Artifacts-feeds inom samma organisation, i andra organisationer och till offentliga register som Maven Central. Den här artikeln vägleder dig genom att publicera Maven-artifakter med hjälp av både YAML- och klassiska pipelinealternativ.

Förutsättningar

Produkt Krav
Azure DevOps – En Azure DevOps-organisation och ett projekt.
– Ett Azure Artifacts-flöde.
En fungerande pipeline.
- Behörigheter:
    – Om du vill bevilja åtkomst till alla pipelines i projektet måste du vara medlem i gruppen projektadministratörer.
    – Om du vill skapa tjänstanslutningar måste du ha rollen Administratör eller Creator för tjänstanslutningar.

Publicera paket till en feed i samma organisation

  1. Logga in på din Azure DevOps-organisation och navigera sedan till projektet.
  1. Logga in på din Azure DevOps-samling och navigera sedan till projektet.
  1. Välj Pipelines och välj sedan din pipelinedefinition.
  1. Välj Redigera och lägg sedan till följande kodfragment i YAML-pipelinen:

    steps:
    - task: MavenAuthenticate@0
      displayName: 'Authenticate to Azure Artifacts feed'
      inputs:
        artifactsFeeds: 'MavenDemo,MavenDemoFeed2'        ## Select one or multiple feeds to authenticate with.
    - script: |
       mvn deploy
      displayName: 'Publish'
    

Anmärkning

Om du vill publicera paket till en feed via Azure Pipelines ska du kontrollera att både Project Collection Build Service och projektets Build Service-identiteter har tilldelats rollen Feed Publisher (Contributor) i feedinställningarna. Mer information finns i Hantera behörigheter .

Publicera paket till en feed i en annan organisation

Om du vill publicera paket till en feed i en annan Azure DevOps-organisation måste du först skapa en personlig åtkomsttoken (PAT) i målorganisationen och sedan använda den pat-filen för att skapa en tjänstanslutning och autentisera med målflödet.

Skapa en personlig åtkomsttoken

  1. Gå till den organisation som är värd för målflödet.

  2. Skapa en personlig åtkomsttoken med Paketering>Läs & Skriv omfång.

  3. Kopiera din personliga åtkomsttoken så som du behöver den i följande avsnitt.

Skapa en tjänstanslutning

  1. Logga in på Den Azure DevOps-organisation där din pipeline ska köras och navigera sedan till projektet.

  2. Gå till dina Project-inställningar>Tjänstanslutningar.

  3. Välj Ny tjänstanslutning, välj Maven och välj sedan Nästa.

  4. Som Autentiseringsmetod väljer du Användarnamn och Lösenord. Ange din lagringsplats-URL och ditt lagrings-ID.

  5. I fältet Användarnamn anger du valfritt strängvärde (detta krävs, men Azure Pipelines använder din pom.xml konfiguration och den personliga åtkomsttoken som du skapade tidigare för autentisering).

    • För Lösenord klistrar du in den personliga åtkomsttoken som du skapade tidigare.
    • Ange ett namn för tjänstanslutningen.
    • Markera kryssrutan Bevilja åtkomstbehörighet till alla pipelines .
  6. Välj Spara när du är klar.

Distribuera paket

  1. Logga in på din Azure DevOps-organisation och navigera sedan till projektet.

  2. Välj Pipelines och välj sedan din pipelinedefinition.

  3. Välj Redigera och lägg sedan till följande kodfragment i YAML-pipelinen:

    steps:
    - task: MavenAuthenticate@0
      displayName: 'Authenticate to Azure Artifacts feed'
      inputs:
        MavenServiceConnections: <NAME_OF_YOUR_SERVICE_CONNECTION> 
    
    - script: |
       mvn deploy
      displayName: 'Publish'