Condividi tramite


Pubblicare artefatti Maven con Azure Pipelines (YAML/versione classica)

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

Azure Pipelines consente agli sviluppatori di pubblicare artefatti Maven nei feed di Azure Artifacts all'interno della stessa organizzazione, in altre organizzazioni e nei registri pubblici, ad esempio Maven Central. Questo articolo illustra la pubblicazione degli artefatti Maven usando pipeline YAML e classiche.

Prerequisiti

Prodotto Requisiti
Azure DevOps - Un'organizzazione di Azure DevOps e un progetto.
- Un feed di Azure Artifacts .
- Pipeline funzionante.
Autorizzazioni - :
    - Per concedere l'accesso a tutte le pipeline del progetto, è necessario essere membri del gruppo Project Administrators.
    - Per creare connessioni al servizio, è necessario avere il ruolo di amministratore o creatore per le connessioni al servizio .

Pubblicare pacchetti in un feed nella stessa organizzazione

  1. Accedere all'organizzazione di Azure DevOps e passare al progetto.
  1. Accedere alla raccolta di Azure DevOps e quindi passare al progetto.
  1. Selezionare Pipeline e quindi selezionare la definizione della pipeline.
  1. Selezionare Modifica e quindi aggiungere il frammento di codice seguente alla pipeline YAML:

    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'
    

Nota

Per pubblicare pacchetti in un feed utilizzando Azure Pipelines, assicurarsi che le identità sia del Build Service della raccolta di progetti sia del servizio Build del progetto abbiano il ruolo Feed Publisher (Collaboratore) assegnato nelle impostazioni del feed. Per altri dettagli, vedere Gestire le autorizzazioni .

Pubblicare pacchetti in un feed in un'organizzazione diversa

Per pubblicare pacchetti in un feed in un'organizzazione Azure DevOps diversa, è necessario prima creare un token di accesso personale nell'organizzazione di destinazione e quindi usarlo per creare una connessione al servizio ed eseguire l'autenticazione con il feed di destinazione.

Creare un token di accesso personale

  1. Passare all'organizzazione che ospita il feed di destinazione.

  2. Creare un token di accesso personale con Packaging>ambito di lettura e scrittura &.

  3. Copiare il token di accesso personale perché sarà necessario nella sezione seguente.

Creare una connessione al servizio

  1. Accedere all'organizzazione di Azure DevOps in cui verrà eseguita la pipeline e quindi passare al progetto.

  2. Vai alle Impostazioni progetto>Connessioni del servizio.

  3. Selezionare Nuova connessione al servizio, selezionare Maven e quindi avanti.

  4. Per Metodo di autenticazione selezionare Nome utente e Password. Immettere l'URL del repository e l'ID repository.

  5. Nel campo Nome utente immettere qualsiasi valore stringa (obbligatorio, ma Azure Pipelines userà la pom.xml configurazione e il token di accesso personale creato in precedenza per l'autenticazione).

    • In Password incollare il token di accesso personale creato in precedenza.
    • Specificare un nome per la connessione al servizio.
    • Selezionare la casella di controllo Concedi autorizzazione di accesso a tutte le pipeline .
  6. Al termine, seleziona Salva.

Pubblicare pacchetti

  1. Accedere all'organizzazione di Azure DevOps e passare al progetto.

  2. Selezionare Pipeline e quindi selezionare la definizione della pipeline.

  3. Selezionare Modifica e quindi aggiungere il frammento di codice seguente alla pipeline YAML:

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