Contenuto principale

Configurazione dell'installazione dal repository Artifactory

Artifactory®, pubblicato da JFrog®, è un gestore di repository di artefatti che supporta la gestione delle versioni, il controllo degli accessi e l'integrazione CI/CD. Lo strumento da riga di comando MATLAB® Package Manager (mpm) consente agli utenti di scaricare e installare i prodotti di MathWorks® dal repository Artifactory della propria organizzazione. Questo argomento illustra come configurare l'installazione dal repository Artifactory della propria organizzazione solo per i prodotti di MathWorks. (L'installazione dei pacchetti di supporto da repository Artifactory non è attualmente supportata).

Workflow della configurazione dell'installazione

Per configurare l'installazione dei prodotti di MathWorks dal repository Artifactory della propria organizzazione:

  1. Impostare la struttura delle cartelle del repository e creare il file di configurazione JSON necessario per installare i prodotti dal repository (passaggio una tantum).

  2. Scaricare i prodotti da MathWorks utilizzando mpm download.

  3. Caricare i prodotti nel repository Artifactory della propria organizzazione.

Three steps for configuring installation from your organization's repository

Ripetere i passaggi 2 e 3 sopra descritti per ogni nuova release o aggiornamento dei prodotti di MathWorks.

Gli utenti possono quindi installare i prodotti dal repository utilizzando mpm install e il file di configurazione.

A computer receives an installation of MATLAB from a repository using mpm install and the JSON configuration file.

Impostazione del repository e creazione del file di configurazione (passaggio una tantum)

An Artifactory repository with a folder hierarchy and JSON configuration file

Completare i passaggi una tantum necessari per installare i prodotti da Artifactory: impostazione del repository

Impostazione del repository

Impostare il repository Artifactory utilizzato per memorizzare i prodotti di MathWorks.

  1. In Artifactory, creare un nuovo repository o riutilizzare uno esistente. In entrambi i casi, il tipo di repository deve essere impostato su Generic. URL del repository di esempio:

    http://artifactory.example.com/artifactory/my-repo
  2. Nella cartella di livello superiore del repository Artifactory, creare una sottocartella denominata MathWorks per memorizzare le release di MathWorks. Struttura della cartella di esempio:

    MathWorks/

    Nei passaggi successivi, quando si scaricheranno le release dei prodotti da MathWorks, caricarle nella sottocartella MathWorks. Ogni release e aggiornamento del prodotto verrà memorizzato in una sottocartella separata nella cartella MathWorks (ad esempio, R20XXaU0, R20XXaU1 e così via). Questa struttura di cartelle di esempio mostra un repository con più release e aggiornamenti caricati:

      MathWorks/
        R20XXaU0/
        R20XXaU1/
        R20XXaU2/
        ...
        R20XXbU0/
        R20XXbU1/
        R20XXbU2/
        ...

Creazione del file di configurazione

Creare il file di configurazione JSON che consente agli utenti di installare i prodotti. Questo file contiene le informazioni sul repository necessarie per l'installazione.

  1. Creare un file JSON. Ad esempio: my_repo_config.json.

  2. Copiare il seguente contenuto nel file JSON:

    {
      "repository_configuration": [
        {
          "name": "my-repo",
          "url": "https://my-artifactory-instance/my-repo",
          "type": "artifactory",
          "repository_layout": {
            "mathworks_products": "MathWorks"
          },
          "auth": {
            "type": "token",
            "access_token": "${ARTIFACTORY_ACCESS_TOKEN}"
          }
        }
      ]
    }
  3. Modificare i campi del file JSON per il repository.

    • "name": nome del repository Artifactory.

    • "url": URL del repository Artifactory.

    • "type": tipo di repository. Attualmente, "artifactory" è l'unico tipo di repository supportato.

    • "repository_layout": struttura della cartella del repository Artifactory. Ogni sottocampo in repository_layout definisce una sottocartella che memorizza il software MathWorks installabile. Sottocampi supportati:

      • "mathworks_products": nome della sottocartella contenente le release dei prodotti di MathWorks. Ad esempio, si supponga che il file di configurazione contenga questi valori di campo:

        ...
        "url": "https://my-artifactory-instance/my-repo",
        ...
        "repository_layout": {
          "mathworks_products": "MathWorks"
        },
        ...
        Se si installano prodotti per R2026aU0, mpm cerca i prodotti a questo URL:

        https://my-artifactory-instance/my-repo/MathWorks/R2026aU0

    • "auth": dettagli di autenticazione per accedere al repository. Sottocampi supportati:

      • "type": tipo di autenticazione. Attualmente, l'unico tipo supportato è "token".

      • "access_token": token utilizzato per autenticare gli utenti che accedono al repository. Dopo aver ottenuto un token di accesso dall'amministratore IT, impostare il token nella variabile di ambiente ARTIFACTORY_ACCESS_TOKEN. Seguire la procedura della propria organizzazione per l'impostazione delle variabili di ambiente. Sintassi di esempio:

        ARTIFACTORY_ACCESS_TOKEN=abc123xyz456

        Quindi, nel file JSON, specificare il nome della variabile di ambiente nel campo access_token, utilizzando questa sintassi:

        "access_token": "${ARTIFACTORY_ACCESS_TOKEN}"

        In alternativa, anziché impostare una variabile di ambiente, è possibile specificare il token di accesso direttamente nel file JSON. Ad esempio:

        "access_token": "abc123xyz456"
  4. Salvare il file JSON in una posizione accessibile agli utenti, ad esempio un'unità condivisa. Se gli utenti possono scaricare i file dal repository Artifactory, valutare la possibilità di caricare il file nel repository Artifactory.

Download dei prodotti

A folder being downloaded from a MathWorks web server

Utilizzare mpm per scaricare i prodotti di una release specifica che si desidera caricare su Artifactory. Non è possibile caricare prodotti scaricati da altre sorgenti, come immagini ISO o DMG.

  1. Acquisire la versione più recente di mpm seguendo le istruzioni riportate in Get MATLAB Package Manager (Ottieni MATLAB Package Manager).

  2. Scaricare i prodotti utilizzando mpm download. Ad esempio, scaricare la release iniziale (aggiornamento 0) R2026a di Simulink® e Deep Learning Toolbox™ per utilizzarle su entrambe le piattaforme Linux® (glnxa64) e Windows (win64). Sostituire <USER> con il nome utente del computer. mpm scarica inoltre il prodotto necessario, MATLAB.

    Linux o Mac:

    ./mpm download --release=R2026aU0 --destination=/home/<USER>/Downloads/R2026aU0 --platforms=glnxa64 win64 --products=Simulink Deep_Learning_Toolbox

    Windows®:

    .\mpm.exe download --release=R2026aU0 --destination=C:\Users\<USER>\Downloads\R2026aU0 --platforms=glnxa64 win64 --products=Simulink Deep_Learning_Toolbox

    Per scaricare un numero elevato di prodotti, utilizzare l'opzione --inputfile per specificare i prodotti in un file di input. Per i dettagli, vedere l'esempio Download dei prodotti utilizzando il file di input nella pagina di riferimento mpm download.

La cartella R2026aU0 ha questa struttura:

R2026aU0/
  archives/
  mpm/
  ProductFilesInfo.xml

La cartella R2026aU0 contiene i seguenti file e sottocartelle:

  • archives: sottocartella contenente i prodotti scaricati.

  • mpm: sottocartella contenente le versioni scaricate di mpm, una per ciascuna piattaforma specificata nell'opzione --platforms di mpm. Gli utenti possono installare i prodotti utilizzando queste versioni di mpm, come mostrato in questa struttura di esempio:

    mpm/
      glnxa64/
        mpm
      win64/
        mpm.exe

  • ProductFilesInfo.xml: file di metadati contenente le informazioni sui prodotti.

Caricamento dei prodotti su Artifactory

A folder being uploaded to an Artifactory repo

Caricare i prodotti scaricati nella sezione precedente su Artifactory. Poiché Artifactory non supporta il caricamento di cartelle, è necessario prima comprimere la cartella scaricata in un file ZIP. Non modificare la struttura o il contenuto di questa cartella prima di comprimerla e caricarla.

  1. Utilizzando lo strumento preferito, comprimere la cartella della release scaricata in un file ZIP. Ad esempio, andare alla cartella scaricata e utilizzare zip (Linux o Mac) o tar (Windows) per comprimere il contenuto in un file ZIP nella cartella principale Downloads.

    Linux o Mac:

    cd /home/<USER>/Downloads/R2026aU0
    zip -r ../R2026aU0.zip ./*
    cd ..

    (Prompt dei comandi) Windows:

    cd C:\Users\<USER>\Downloads\R2026aU0
    tar -a -c -f ..\R2026aU0.zip *
    cd ..

    A seconda del numero di prodotti scaricati, questo processo può richiedere diversi minuti. Il file ZIP compresso dovrebbe contenere le sottocartelle e il file mostrati in questo esempio:

    R2026aU0.zip
      archives/
      mpm/
      ProductFilesInfo.xml
  2. Nella cartella MathWorks del repository Artifactory, creare una sottocartella in cui caricare il file ZIP. Per creare questa sottocartella, utilizzare JFrog CLI o un altro strumento preferito. L'esempio seguente mostra come creare la cartella utilizzando curl, un'API REST da riga di comando per effettuare richieste web HTTPS.

    Linux o Mac:

    curl --user <USER>:<PASSWORD> \
         --request PUT \
         "https://my-artifactory-instance/my-repo/MathWorks/R2026aU0/"

    (Prompt dei comandi) Windows:

    curl --user <USER>:<PASSWORD> ^
         --request PUT ^
         "https://my-artifactory-instance/my-repo/MathWorks/R2026aU0/"

    Il comando curl include queste opzioni:

    • --user <USER>:<PASSWORD>: specificare il nome utente e la password Artifactory. In alternativa, se si utilizza un token di accesso, sostituire --user <USER>:<PASSWORD> con la seguente ulteriore intestazione: --header "Authorization: Bearer <TOKEN>"

    • --request PUT: utilizzare una richiesta PUT in quanto il caricamento modifica il repository.

    • https://my-artifactory-instance/my-repo/MathWorks/R2026aU0/: specificare l'endpoint URL della cartella come apparirà in Artifactory. Includere una barra finale nell'URL. Utilizzare il seguente formato URL:

      https://my-artifactory-instance/my-repo/MathWorks/R20XXyUn/
      • https://my-artifactory-instance/my-repo/ è l'URL del repository Artifactory, come determinato dal campo "url" del file di configurazione del repository.

      • MathWorks/ è la sottocartella che memorizza le release del prodotto di MathWorks, come determinata dal sottocampo "mathworks_products" all'interno del campo "repository_layout" del file di configurazione del repository.

      • R20XXyUn/ è una cartella di release del prodotto, dove R20XXy è il nome della release (ad esempio, R2026a) e Un è il numero di release dell'aggiornamento (ad esempio, U0, U1 e così via).

  3. Caricare il file ZIP nella cartella di release del prodotto appena creata nel repository Artifactory. Utilizzare JFrog CLI o un altro strumento preferito. L'esempio seguente mostra come caricare il file ZIP utilizzando curl.

    Linux o Mac:

    curl --user <USER>:<PASSWORD> \
         --header "X-Explode-Archive:true" \
         --request PUT \
         --upload-file /home/<USER>/downloads/R2026aU0.zip \
         "https://my-artifactory-instance/my-repo/MathWorks/R2026aU0/"

    (Prompt dei comandi) Windows:

    curl --user <USER>:<PASSWORD> ^
         --header "X-Explode-Archive:true" ^
         --request PUT ^
         --upload-file "C:\Users\<USER>\Downloads\R2026aU0.zip" ^
         "https://my-artifactory-inpinstance/my-repo/MathWorks/R2026aU0/"

    Il comando curl include queste opzioni:

    • --user <USER>:<PASSWORD>: specificare il nome utente e la password Artifactory. In alternativa, se si utilizza un token di accesso, sostituire --user <USER>:<PASSWORD> con la seguente ulteriore intestazione: --header "Authorization: Bearer <TOKEN>"

    • --header "X-Explode-Archive:true": specificare X-Explode-Archive:true nell'intestazione della richiesta per decomprimere la cartella dopo averla caricata.

    • --request PUT: utilizzare una richiesta PUT in quanto il caricamento modifica il repository.

    • --upload-file ...: specificare il percorso del file ZIP.

    • https://my-artifactory-instance/my-repo/MathWorks/R2026aU0/: specificare l'endpoint URL della cartella creata nel passaggio precedente.

Installazione dei prodotti da Artifactory

A computer receives an installation of MATLAB from a repository using mpm install and the JSON configuration file.

Per consentire agli utenti di installare i prodotti dal repository Artifactory, fornire loro quanto segue:

  • Una copia del file di configurazione del repository (ad esempio, my_repo_config.json).

  • Una versione di mpm che sia compatibile con la loro piattaforma. Gli utenti possono scaricare la copia di mpm che è stata caricata nel repository oppure scaricare mpm dai server web di MathWorks seguendo le istruzioni riportate in Get MATLAB Package Manager (Ottieni MATLAB Package Manager).

Questo comando di esempio mpm install installa i prodotti dal repository Artifactory utilizzando un file di configurazione memorizzato in una posizione condivisa.

Linux o Mac:

./mpm install --repo-config=/usr/share/my_repo_config.json --release=R2026aU0 --destination=/home/<USER>/matlab --products=Simulink Deep_Learning_Toolbox

Windows (eseguire come amministratore):

.\mpm.exe install --repo-config="Z:\share\my_repo_config.json" --release=R2026aU0 --destination="C:\Users\<USER>\matlab" --products=Simulink Deep_Learning_Toolbox

Per installare un numero elevato di prodotti, utilizzare l'opzione --inputfile per specificare i prodotti in un file di input. Per i dettagli, vedere l'esempio Installazione dei prodotti dal repository Artifactory utilizzando un file di input nella pagina di riferimento mpm install.

Gli utenti possono anche utilizzare mpm in un Dockerfile per integrare MATLAB nelle pipeline CI/CD. Per un esempio, vedere Create MATLAB Container Image (Creare un'immagine del container MATLAB) su GitHub®.

Vedi anche

|

Argomenti