Condividi tramite


Introduzione ai pacchetti Maven in Azure Artifacts

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Azure Artifacts consente agli sviluppatori di gestire le dipendenze da un singolo feed fornendo al tempo stesso il controllo sulla condivisione dei pacchetti. Con i feed di Azure Artifacts è possibile pubblicare e ripristinare pacchetti Maven e configurare origini upstream per l'uso di pacchetti da registri pubblici come Maven Central, repository Google Maven, plug-in Gradle e JitPack. Questo articolo illustra come configurare il progetto Maven, connettersi a un feed di Azure Artifacts e pubblicare e ripristinare i pacchetti Maven.

Prerequisiti

Creare un feed

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

  2. Selezionare Artefatti e quindi Crea feed.

  3. In Nome immettere un nome descrittivo per il feed.

    In Visibilità selezionare un'opzione per indicare chi può visualizzare i pacchetti all'interno del feed.

    Per includere pacchetti da origini pubbliche, selezionare la casella di controllo in Origini upstream.

    Per Ambito specificare se l'ambito del feed è il progetto o l'organizzazione.

  4. Al termine, fare clic su Crea.

    Screenshot che mostra le selezioni per la creazione di un nuovo feed in Azure DevOps Services.

  1. Accedere al server Azure DevOps e quindi passare al progetto.

  2. Selezionare Artefatti e quindi Crea feed.

  3. In Nome immettere un nome descrittivo per il feed.

    In Visibilità selezionare un'opzione per indicare chi può visualizzare i pacchetti all'interno del feed.

    Per includere pacchetti da origini pubbliche, selezionare la casella di controllo in Origini upstream.

    Per Ambito specificare se l'ambito del feed è il progetto o l'organizzazione.

  1. Al termine, fare clic su Crea.

    Screenshot che mostra le selezioni per la creazione di un nuovo feed in Azure DevOps 2022.

  1. Al termine, fare clic su Crea.

    Screenshot che mostra le selezioni per la creazione di un nuovo feed in Azure DevOps 2020.

  1. Accedere al server Azure DevOps e quindi passare al progetto.

  2. Selezionare Artefatti e quindi nuovo feed.

  3. In Nome immettere un nome descrittivo per il feed.

    In Visibilità selezionare un'opzione per indicare chi può visualizzare i pacchetti all'interno del feed.

    Per includere pacchetti da origini pubbliche, selezionare l'opzione Usa pacchetti da origini pubbliche tramite questa opzione di feed .

  4. Al termine, fare clic su Crea.

    Screenshot che mostra le selezioni per la creazione di un nuovo feed in Azure DevOps 2019.

Nota

Per impostazione predefinita, i feed appena creati hanno il valore del servizio di compilazione del progetto impostato su Feed e lettore upstream (collaboratore).

Connettersi a un feed

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

  2. Selezionare Artefatti e quindi selezionare il feed dal menu a discesa.

  3. Selezionare Connetti al feed e quindi selezionare Maven nell'area di spostamento a sinistra.

  4. Se questa è la prima volta che si usa Azure Artifacts con Maven, assicurarsi di aver installato i prerequisiti. In caso contrario, selezionare Ottieni gli strumenti nell'angolo superiore destro per installarli.

  5. Seguire le istruzioni nella sezione Configurazione progetto per configurare i file pom.xml e settings.xml . I file dovrebbero essere simili agli esempi seguenti:

    • pom.xml:

        <repositories>
          <repository>
            <id>MavenDemo</id>
            <url>https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/maven/v1</url>
            <releases>
              <enabled>true</enabled>
            </releases>
            <snapshots>
              <enabled>true</enabled>
            </snapshots>
          </repository>
        </repositories>
        <distributionManagement>
          <repository>
            <id>MavenDemo</id>
            <url>https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/maven/v1</url>
            <releases>
              <enabled>true</enabled>
            </releases>
            <snapshots>
              <enabled>true</enabled>
            </snapshots>
          </repository>
        </distributionManagement>
      
    • settings.xml:

        <servers>
          <server>
            <id>MavenDemo</id>
            <username><ORGANIZATION_NAME></username>
            <password>[PERSONAL_ACCESS_TOKEN]</password>
          </server>
        </servers>
      
  6. Generare un token di accesso personale con ambito di lettura e scrittura per la creazione di pacchetti>e incollarlo nel <password> tag.

  1. Accedere alla raccolta di Azure DevOps e quindi passare al progetto.

  2. Selezionare Artefatti e quindi selezionare il feed dal menu a discesa.

  3. Selezionare Connetti al feed e quindi selezionare Maven nel riquadro di spostamento a sinistra.

  4. Se questa è la prima volta che si usa Azure Artifacts con Maven, assicurarsi di aver installato i prerequisiti. In caso contrario, selezionare Ottieni gli strumenti nell'angolo superiore destro per installarli.

  5. Seguire le istruzioni nella sezione Configurazione progetto per configurare i file pom.xml e settings.xml . I file dovrebbero essere simili agli esempi seguenti:

    • pom.xml:

        <repositories>
          <repository>
            <id>MavenDemo</id>
            <url>http://<SERVER_NAME>/<COLLECTION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/maven/v1</url>
            <releases>
              <enabled>true</enabled>
            </releases>
            <snapshots>
              <enabled>true</enabled>
            </snapshots>
          </repository>
        </repositories>
        <distributionManagement>
          <repository>
            <id>MavenDemo</id>
            <url>http://<SERVER_NAME>/<COLLECTION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/maven/v1</url>
            <releases>
              <enabled>true</enabled>
            </releases>
            <snapshots>
              <enabled>true</enabled>
            </snapshots>
          </repository>
        </distributionManagement>
      
    • settings.xml:

        <servers>
          <server>
            <id>MavenDemo</id>
            <username><COLLECTION_NAME></username>
            <password>[PERSONAL_ACCESS_TOKEN]</password>
          </server>
        </servers>
      
  6. Generare un token di accesso personale con ambito di lettura e scrittura per la creazione di pacchetti>e incollarlo nel <password> tag.

  1. Accedere alla raccolta di Azure DevOps e quindi passare al progetto.

  2. Selezionare Artefatti e quindi selezionare il feed.

  3. Selezionare Connetti al feed e quindi selezionare Maven nel riquadro di spostamento a sinistra.

  4. Selezionare Genera credenziali Maven e aggiungere le credenziali all'utente settings.xml file all'interno del <servers> tag. Il file sarà simile all'esempio seguente:

      <servers>
        <server>
          <id>server-2019-defaultcollection-demo</id>
          <username><FEED_NAME></username>
          <password>xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</password>
        </server>
      </servers>
    
  5. Aggiungere il secondo frammento al pom.xml del progetto all'interno dei <repositories> tag e <distributionManagement> . Il file sarà simile all'esempio seguente:

      <repositories>
        <repository>
          <id>server-2019-defaultcollection-demo</id>
          <url>http://<SERVER_NAME>/<COLLECTION_NAME>/_packaging/<FEED_NAME>/maven/v1</url>
          <releases>
            <enabled>true</enabled>
          </releases>
          <snapshots>
            <enabled>true</enabled>
          </snapshots>
        </repository>
      </repositories>
      <distributionManagement>
        <repository>
          <id>server-2019-defaultcollection-demo</id>
          <url>http://<SERVER_NAME>/<COLLECTION_NAME>/_packaging/<FEED_NAME>/maven/v1</url>
          <releases>
            <enabled>true</enabled>
          </releases>
          <snapshots>
            <enabled>true</enabled>
          </snapshots>
        </repository>
      </distributionManagement>
    

Pubblicare pacchetti

  1. Aprire una finestra del prompt dei comandi e passare alla directory del progetto in cui si trova il file pom.xml, quindi eseguire il comando seguente per creare il pacchetto del progetto. Questo comando compila il codice, esegue test inclusi e crea un pacchetto del progetto in un formato distribuibile, ad esempio un file JAR.

    mvn package
    
  2. Eseguire il comando seguente dalla directory del progetto per pubblicare il pacchetto nel feed:

    mvn deploy
    
  3. Dopo aver distribuito correttamente il pacchetto, sarà disponibile a breve nel feed.

    Screenshot che mostra un pacchetto Maven distribuito in un feed.

Nota

Se l'organizzazione usa un firewall o un server proxy, assicurarsi di consentire gli URL di dominio e gli indirizzi IP di Azure Artifacts.

Ripristinare pacchetti

  1. Passare a Artefatti nel progetto Azure DevOps, selezionare il feed dal menu a discesa e quindi selezionare il pacchetto da installare.

  2. Passare a Panoramica>Maven, quindi copiare il frammento di dipendenza.

  3. Aprire il file pom.xml e incollare il frammento all'interno del <dependencies> tag.

  4. Eseguire il comando seguente dalla directory in cui si trova il file pom.xml per ripristinare i pacchetti:

    mvn install