Contenu principal

Configurer l’installation depuis un dépôt Artifactory

Artifactory®, de l’éditeur JFrog®, est un gestionnaire de dépôts d’artefacts qui supporte la gestion des versions, le contrôle des accès et l’intégration CI/CD. L’outil en ligne de commande MATLAB® Package Manager (mpm) permet aux utilisateurs de télécharger et d’installer des produits MathWorks® depuis le dépôt Artifactory de votre organisation. Cette rubrique explique comment configurer l’installation depuis le dépôt Artifactory de votre organisation pour les produits MathWorks uniquement. (L’installation de Support Packages depuis les dépôts Artifactory n’est pas supportée à l’heure actuelle.)

Workflow de configuration de l’installation

Pour configurer l’installation de produits MathWorks depuis le dépôt Artifactory de votre organisation :

  1. Configurez la structure de dossiers du dépôt et créez le fichier de configuration JSON requis pour installer des produits depuis celui-ci (étape à effectuer une seule fois).

  2. Téléchargez les produits depuis MathWorks avec mpm download.

  3. Chargez les produits dans le dépôt Artifactory de votre organisation.

Three steps for configuring installation from your organization's repository

Répétez les étapes 2 et 3 ci-dessus pour chaque nouvelle version ou mise à jour des produits MathWorks.

Les utilisateurs peuvent ensuite installer les produits depuis le dépôt en utilisant mpm install et le fichier de configuration.

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

Configurer le dépôt et créer le fichier de configuration (étape à effectuer une seule fois)

An Artifactory repository with a folder hierarchy and JSON configuration file

Exécutez les étapes initiales requises pour installer des produits depuis Artifactory : configurer le dépôt et créer le fichier de configuration.

Configurer le dépôt

Configurez le dépôt Artifactory utilisé pour stocker les produits MathWorks.

  1. Dans Artifactory, créez un nouveau dépôt ou réutilisez un dépôt existant. Dans les deux cas, le type de dépôt doit être défini sur Generic. Exemple d’URL de dépôt :

    http://artifactory.example.com/artifactory/my-repo
  2. Dans le dossier de niveau supérieur de votre dépôt Artifactory, créez un sous-dossier MathWorks pour y stocker les versions de MathWorks. Exemple de structure de dossiers :

    MathWorks/

    Dans les étapes ultérieures où vous téléchargerez les versions des produits depuis MathWorks, vous chargerez ces dernières dans le sous-dossier MathWorks. Chaque version et mise à jour de produit est stockée dans un sous-dossier distinct sous le dossier MathWorks (par exemple R20XXaU0, R20XXaU1 et ainsi de suite). L’exemple de structure de dossiers suivant représente un dépôt où plusieurs versions et mises à jour ont été chargées :

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

Créer le fichier de configuration

Créez le fichier de configuration JSON permettant aux utilisateurs d’installer les produits. Ce fichier contient les informations sur le dépôt qui sont nécessaires à l’installation.

  1. Créez un fichier JSON. Par exemple : my_repo_config.json.

  2. Copiez le contenu suivant dans le fichier 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. Modifiez les champs du fichier JSON en fonction de votre dépôt.

    • "name" : nom de votre dépôt Artifactory.

    • "url" : URL de votre dépôt Artifactory.

    • "type" : type de dépôt. À l’heure actuelle, le seul type de dépôt supporté est "artifactory".

    • "repository_layout" : disposition des dossiers de votre dépôt Artifactory. Chaque sous-champ de repository_layout définit un sous-dossier stockant les softwares MathWorks installables. Sous-champs supportés :

      • "mathworks_products" : nom du sous-dossier contenant les versions des produits MathWorks. Supposons par exemple que votre fichier de configuration contiennent les valeurs de champ suivantes :

        ...
        "url": "https://my-artifactory-instance/my-repo",
        ...
        "repository_layout": {
          "mathworks_products": "MathWorks"
        },
        ...
        Si vous installez les produits de R2026aU0, mpm les recherche à l’URL suivante :

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

    • "auth" : informations d’authentification pour accéder au dépôt. Sous-champs supportés :

      • "type" : type d’authentification. À l’heure actuelle, le seul type supporté est "token".

      • "access_token" : jeton utilisé pour authentifier les utilisateurs qui accèdent au dépôt. Une fois que vous avez obtenu un jeton d’accès auprès de votre administrateur informatique, définissez-le dans la variable d’environnement ARTIFACTORY_ACCESS_TOKEN. Suivez la procédure de votre organisation pour définir les variables d’environnement. Exemple de syntaxe :

        ARTIFACTORY_ACCESS_TOKEN=abc123xyz456

        Ensuite, spécifiez le nom de la variable d’environnement dans le champ access_token du fichier JSON avec la syntaxe suivante :

        "access_token": "${ARTIFACTORY_ACCESS_TOKEN}"

        Au lieu de définir une variable d’environnement, vous pouvez spécifier le jeton d’accès directement dans le fichier JSON. Par exemple :

        "access_token": "abc123xyz456"
  4. Enregistrez le fichier JSON à un emplacement accessible aux utilisateurs, par exemple un lecteur partagé. Si les utilisateurs peuvent télécharger des fichiers depuis votre dépôt Artifactory, vous pouvez charger le fichier dans le dépôt Artifactory.

Télécharger des produits

A folder being downloaded from a MathWorks web server

Utilisez mpm pour télécharger les produits d’une version spécifique que vous souhaitez charger dans Artifactory. Vous ne pouvez pas charger les produits téléchargés depuis d’autres sources comme des images ISO ou DMG.

  1. Obtenez la dernière version de mpm en suivant les instructions indiquées dans Obtenir MATLAB Package Manager.

  2. Téléchargez les produits avec mpm download. Par exemple, téléchargez la version R2026a initiale (mise à jour 0) de Simulink® et Deep Learning Toolbox™ pour une utilisation sur les plateformes Linux® (glnxa64) et Windows (win64). Remplacez <USER> par le nom d’utilisateur de votre ordinateur. mpm télécharge également le produit obligatoire MATLAB.

    Linux ou 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

    Pour télécharger un grand nombre de produits, utilisez l’option --inputfile pour les spécifier dans un fichier d’entrée. Pour plus de détails, consultez l’exemple Télécharger des produits à l’aide d’un fichier d’entrée sur la page de référence de mpm download.

Le dossier R2026aU0 a la structure suivante :

R2026aU0/
  archives/
  mpm/
  ProductFilesInfo.xml

Le dossier R2026aU0 contient les fichiers et sous-dossiers suivants :

  • archives : sous-dossier contenant les produits téléchargés.

  • mpm : sous-dossier contenant les versions téléchargées de mpm, une pour chaque plateforme spécifiée dans l’option --platforms de mpm. Les utilisateurs peuvent installer les produits avec ces versions de mpm, comme indiqué dans l’exemple de structure suivant :

    mpm/
      glnxa64/
        mpm
      win64/
        mpm.exe

  • ProductFilesInfo.xml : fichier de métadonnées contenant des informations sur les produits.

Charger les produits dans Artifactory

A folder being uploaded to an Artifactory repo

Chargez les produits téléchargés à la section précédente dans Artifactory. Comme Artifactory ne supporte pas le chargement de dossiers, vous devez d’abord compresser le dossier téléchargé dans un fichier ZIP. Ne modifiez pas la structure ni le contenu de ce dossier avant de le compresser et de le charger.

  1. Utilisez l’outil de votre choix pour compresser le dossier de version téléchargé dans un fichier ZIP. Par exemple, accédez au dossier téléchargé et utilisez zip (Linux ou Mac) ou tar (Windows) pour compresser son contenu dans un fichier ZIP dans le dossier parent Downloads.

    Linux ou Mac :

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

    Windows (invite de commande) :

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

    Selon le nombre de produits téléchargés, ce processus peut prendre plusieurs minutes. Le fichier ZIP compressé doit contenir les sous-dossiers et le fichier indiqués dans l’exemple suivant :

    R2026aU0.zip
      archives/
      mpm/
      ProductFilesInfo.xml
  2. Dans le dossier MathWorks de votre dépôt Artifactory, créez un sous-dossier dans lequel charger le fichier ZIP. Pour créer ce sous-dossier, utilisez JFrog CLI ou l’outil de votre choix. L’exemple ci-dessous montre comment créer le dossier avec curl, une API REST en ligne de commande permettant de créer des requêtes web HTTPS.

    Linux ou Mac :

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

    Windows (invite de commande) :

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

    La commande curl comprend les options suivantes :

    • --user <USER>:<PASSWORD> : spécifiez vos nom d’utilisateur et mot de passe Artifactory. Sinon, si vous utilisez un jeton d’accès, remplacez --user <USER>:<PASSWORD> par l’en-tête supplémentaire suivant : --header "Authorization: Bearer <TOKEN>"

    • --request PUT : utilisez une requête PUT, car le chargement modifie le dépôt.

    • https://my-artifactory-instance/my-repo/MathWorks/R2026aU0/ : spécifiez l’endpoint d’URL du dossier tel qu’il apparaîtra dans Artifactory. Ajoutez une barre oblique à la fin de l’URL. Utilisez le format d’URL suivant :

      https://my-artifactory-instance/my-repo/MathWorks/R20XXyUn/
      • https://my-artifactory-instance/my-repo/ est l’URL de votre dépôt Artifactory telle que déterminée par le champ "url" du fichier de configuration de celui-ci.

      • MathWorks/ est le sous-dossier qui stocke les versions des produits MathWorks tel que déterminé par le sous-champ "mathworks_products" du champ "repository_layout" du fichier de configuration de votre dépôt.

      • R20XXyUn/ est le dossier d’une version du produit, où R20XXy est le nom de la version (par exemple R2026a) et Un le numéro de la mise à jour (par exemple U0, U1 et ainsi de suite).

  3. Chargez le fichier ZIP dans le dossier de la version du produit que vous venez de créer dans votre dépôt Artifactory. Utilisez JFrog CLI ou l’outil de votre choix. L’exemple ci-dessous montre comment charger le fichier ZIP avec curl.

    Linux ou 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/"

    Windows (invite de commande) :

    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/"

    La commande curl comprend les options suivantes :

    • --user <USER>:<PASSWORD> : spécifiez vos nom d’utilisateur et mot de passe Artifactory. Sinon, si vous utilisez un jeton d’accès, remplacez --user <USER>:<PASSWORD> par l’en-tête supplémentaire suivant : --header "Authorization: Bearer <TOKEN>"

    • --header "X-Explode-Archive:true" : spécifiez X-Explode-Archive:true dans l’en-tête de la requête pour décompresser le dossier après l’avoir chargé.

    • --request PUT : utilisez une requête PUT, car le chargement modifie le dépôt.

    • --upload-file ... : spécifiez le chemin d’accès au fichier ZIP.

    • https://my-artifactory-instance/my-repo/MathWorks/R2026aU0/ : spécifiez l’endpoint d’URL du dossier créé à l’étape précédente.

Installer des produits depuis Artifactory

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

Pour permettre aux utilisateurs d’installer des produits depuis votre dépôt Artifactory, donnez-leur les éléments suivants :

  • Une copie du fichier de configuration du dépôt (par exemple my_repo_config.json).

  • Une version de mpm compatible avec leur plateforme. Les utilisateurs peuvent télécharger la copie de mpm chargée dans le dépôt ou bien télécharger mpm depuis les serveurs web MathWorks en suivant les instructions indiquées dans Obtenir MATLAB Package Manager.

L’exemple de commande mpm install suivant installe les produits depuis le dépôt Artifactory en utilisant un fichier de configuration stocké à un emplacement partagé.

Linux ou Mac :

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

Windows (exécuter en tant qu’administrateur) :

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

Pour installer un grand nombre de produits, utilisez l’option --inputfile pour les spécifier dans un fichier d’entrée. Pour plus de détails, consultez l’exemple Installer des produits depuis un dépôt Artifactory avec un fichier d’entrée sur la page de référence de mpm install.

Les utilisateurs peuvent également utiliser mpm dans un fichier Dockerfile pour intégrer MATLAB dans les pipelines CI/CD. Pour un exemple, consultez Create MATLAB Container Image (Créer une image de conteneur MATLAB) sur GitHub®.

Voir aussi

|

Rubriques