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:
Impostare la struttura delle cartelle del repository e creare il file di configurazione JSON necessario per installare i prodotti dal repository (passaggio una tantum).
Scaricare i prodotti da MathWorks utilizzando
mpm download.Caricare i prodotti nel repository Artifactory della propria organizzazione.

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.

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

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.
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-repoNella cartella di livello superiore del repository Artifactory, creare una sottocartella denominata
MathWorksper 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 cartellaMathWorks(ad esempio,R20XXaU0,R20XXaU1e 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.
Creare un file JSON. Ad esempio:
my_repo_config.json.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}" } } ] }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 inrepository_layoutdefinisce 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:Se si installano prodotti per... "url": "https://my-artifactory-instance/my-repo", ... "repository_layout": { "mathworks_products": "MathWorks" }, ...R2026aU0,mpmcerca 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 ambienteARTIFACTORY_ACCESS_TOKEN. Seguire la procedura della propria organizzazione per l'impostazione delle variabili di ambiente. Sintassi di esempio:ARTIFACTORY_ACCESS_TOKEN=abc123xyz456Quindi, 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"
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

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.
Acquisire la versione più recente di
mpmseguendo le istruzioni riportate in Get MATLAB Package Manager (Ottieni MATLAB Package Manager).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.mpmscarica inoltre il prodotto necessario, MATLAB.Linux o Mac:
./mpm download --release=R2026aU0 --destination=/home/<USER>/Downloads/R2026aU0 --platforms=glnxa64 win64 --products=Simulink Deep_Learning_ToolboxWindows®:
.\mpm.exe download --release=R2026aU0 --destination=C:\Users\<USER>\Downloads\R2026aU0 --platforms=glnxa64 win64 --products=Simulink Deep_Learning_ToolboxPer scaricare un numero elevato di prodotti, utilizzare l'opzione
--inputfileper 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 riferimentompm download.
La cartella R2026aU0 ha questa struttura:
R2026aU0/
archives/
mpm/
ProductFilesInfo.xmlLa cartella R2026aU0 contiene i seguenti file e sottocartelle:
archives: sottocartella contenente i prodotti scaricati.mpm: sottocartella contenente le versioni scaricate dimpm, una per ciascuna piattaforma specificata nell'opzione--platformsdimpm. Gli utenti possono installare i prodotti utilizzando queste versioni dimpm, come mostrato in questa struttura di esempio:mpm/ glnxa64/ mpm win64/ mpm.exeProductFilesInfo.xml: file di metadati contenente le informazioni sui prodotti.
Caricamento dei prodotti su Artifactory

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.
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) otar(Windows) per comprimere il contenuto in un file ZIP nella cartella principaleDownloads.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.xmlNella cartella
MathWorksdel 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 utilizzandocurl, 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
curlinclude 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 richiestaPUTin 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, doveR20XXyè il nome della release (ad esempio,R2026a) eUnè il numero di release dell'aggiornamento (ad esempio,U0,U1e così via).
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
curlinclude 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": specificareX-Explode-Archive:truenell'intestazione della richiesta per decomprimere la cartella dopo averla caricata.--request PUT: utilizzare una richiestaPUTin 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

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
mpmche sia compatibile con la loro piattaforma. Gli utenti possono scaricare la copia dimpmche è stata caricata nel repository oppure scaricarempmdai 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_ToolboxWindows (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_ToolboxPer 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®.