Contenido principal

Configurar una instalación desde el repositorio Artifactory

Artifactory®, publicado por JFrog®, es un administrador de repositorios de artefactos que admite la gestión de versiones, el control de acceso y la integración CI/CD. El administrador de paquetes de MATLAB® (mpm), una herramienta de la línea de comandos, permite a los usuarios descargar e instalar los productos de MathWorks® desde el repositorio Artifactory de su organización. En este tema se muestra cómo configurar la instalación desde el repositorio Artifactory de su organización solo para productos de MathWorks. (Actualmente no se admite instalar paquetes de soporte desde los repositorios Artifactory).

Flujo de trabajo de configuración de la instalación

Para configurar la instalación de los productos de MathWorks desde el repositorio Artifactory de la organización:

  1. Configure la estructura de carpetas del repositorio y cree el archivo de configuración JSON necesario para instalar productos desde el repositorio (paso único).

  2. Descargue productos desde MathWorks usando mpm download.

  3. Suba los productos al repositorio Artifactory de su organización.

Three steps for configuring installation from your organization's repository

Repita los pasos 2 y 3 anteriores para cada nueva versión o versión de actualización de los productos de MathWorks.

Posteriormente, los usuarios pueden instalar productos desde el repositorio utilizando mpm install y el archivo de configuración.

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

Configurar el repositorio y crear un archivo de configuración (paso único)

An Artifactory repository with a folder hierarchy and JSON configuration file

Complete los pasos únicos necesarios para instalar productos desde Artifactory: configuración del repositorio y

Configurar un repositorio

Configure el repositorio Artifactory utilizado para almacenar productos de MathWorks.

  1. En Artifactory, cree un nuevo repositorio o reutilice un repositorio existente. En ambos casos, el tipo de repositorio debe establecerse en Generic. URL del repositorio de ejemplo:

    http://artifactory.example.com/artifactory/my-repo
  2. En la carpeta de nivel superior del repositorio Artifactory, cree una subcarpeta llamada MathWorks para almacenar versiones de MathWorks. Ejemplo de estructura de una carpeta:

    MathWorks/

    En pasos posteriores, cuando descargue versiones de productos desde MathWorks, subirá estas versiones a la subcarpeta MathWorks. Cada versión y actualización del producto se almacenará en una subcarpeta independiente dentro de la carpeta MathWorks (por ejemplo, R20XXaU0, R20XXaU1, etc.). Este ejemplo de estructura de una carpeta muestra un repositorio con varias versiones y actualizaciones subidas:

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

Crear un archivo de configuración

Cree el archivo de configuración JSON que permita a los usuarios instalar los productos. Este archivo contiene información sobre el repositorio necesaria para la instalación.

  1. Cree un archivo JSON. Por ejemplo: my_repo_config.json.

  2. Copie el siguiente contenido en el archivo 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. Modifique los campos del archivo JSON para el repositorio.

    • "name": nombre del repositorio Artifactory.

    • "url": URL del repositorio Artifactory.

    • "type": tipo de repositorio. Actualmente, "artifactory" es el único tipo de repositorio compatible.

    • "repository_layout": diseño de la carpeta del repositorio Artifactory. Cada subcampo de repository_layout define una subcarpeta que almacena el software de MathWorks instalable. Subcampos compatibles:

      • "mathworks_products": nombre de la subcarpeta que contiene versiones de productos de MathWorks. Por ejemplo, supongamos que el archivo de configuración contiene estos valores de campo:

        ...
        "url": "https://my-artifactory-instance/my-repo",
        ...
        "repository_layout": {
          "mathworks_products": "MathWorks"
        },
        ...
        Si instala productos para la versión R2026aU0, mpm busca los productos en esta URL:

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

    • "auth": detalles de autenticación para acceder al repositorio. Subcampos compatibles:

      • "type": tipo de autenticación. Actualmente, el único tipo compatible es "token".

      • "access_token": token utilizado para autenticar a los usuarios que acceden al repositorio. Cuando haya obtenido un token de acceso de su administrador de TI, establezca el token en la variable de entorno ARTIFACTORY_ACCESS_TOKEN. Siga el procedimiento de su organización para configurar variables de entorno. Sintaxis de ejemplo:

        ARTIFACTORY_ACCESS_TOKEN=abc123xyz456

        Luego, en el archivo JSON, especifique el nombre de la variable de entorno en el campo access_token utilizando esta sintaxis:

        "access_token": "${ARTIFACTORY_ACCESS_TOKEN}"

        Alternativamente, en lugar de establecer una variable de entorno, puede especificar el token de acceso directamente en el archivo JSON. Por ejemplo:

        "access_token": "abc123xyz456"
  4. Guarde el archivo JSON en una ubicación a la que los usuarios puedan acceder, como una unidad compartida. Si los usuarios pueden descargar archivos desde el repositorio Artifactory, considere subir el archivo al repositorio Artifactory.

Descargar productos

A folder being downloaded from a MathWorks web server

Utilice mpm para descargar los productos de una versión específica que desee subir a Artifactory. No puede subir productos descargados de otros orígenes, como imágenes ISO o DMG.

  1. Obtenga la última versión de mpm siguiendo las instrucciones de Obtener el administrador de paquetes de MATLAB.

  2. Descargue los productos usando mpm download. Por ejemplo, descargue la versión incial (actualización 0) R2026a de Simulink® y Deep Learning Toolbox™ para su uso en las plataformas Linux® (glnxa64) y Windows (win64). Reemplace <USER> con el nombre de usuario de su equipo. mpm también descarga el producto requerido, 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

    Para descargar una gran cantidad de productos, utilice la opción --inputfile para especificar los productos en un archivo de entrada. Para obtener más información, consulte el ejemplo Descargar productos utilizando un archivo de entrada en la página de referencia mpm download.

La carpeta de la versión R2026aU0 tiene esta estructura:

R2026aU0/
  archives/
  mpm/
  ProductFilesInfo.xml

La carpeta de la versión R2026aU0 contiene los siguientes archivos y subcarpetas:

  • archives: subcarpeta que contiene los productos descargados.

  • mpm: subcarpeta que contiene las versiones descargadas de mpm, una para cada plataforma que especificó en la opción --platforms de mpm. Los usuarios pueden instalar productos utilizando estas versiones de mpm, como se muestra en esta estructura de ejemplo:

    mpm/
      glnxa64/
        mpm
      win64/
        mpm.exe

  • ProductFilesInfo.xml: archivo de metadatos que contiene información sobre los productos.

Subir productos a Artifactory

A folder being uploaded to an Artifactory repo

Suba los productos que descargó en la sección anterior a Artifactory. Dado que Artifactory no admite la subida de carpetas, primero debe comprimir la carpeta descargada en un archivo ZIP. No modifique la estructura ni el contenido de esta carpeta antes de comprimirla y subirla.

  1. Con la herramienta que prefiera, comprima la carpeta de la versión descargada en un archivo ZIP. Por ejemplo, vaya a la carpeta descargada y utilice zip (Linux o Mac) o tar (Windows) para comprimir el contenido en un archivo ZIP en la carpeta principal, Downloads.

    Linux o Mac:

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

    Windows (línea de comandos):

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

    Este proceso puede tardar varios minutos, según el número de productos descargados. El archivo ZIP comprimido debe contener las subcarpetas y el archivo que se muestran en este ejemplo:

    R2026aU0.zip
      archives/
      mpm/
      ProductFilesInfo.xml
  2. En la carpeta de MathWorks del repositorio Artifactory, cree una subcarpeta a la que subir el archivo ZIP. Para crear esta subcarpeta, utilice JFrog CLI o la herramienta que prefiera. El próximo ejemplo muestra cómo crear la carpeta utilizando curl, una API REST de línea de comandos para realizar solicitudes web HTTPS.

    Linux o Mac:

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

    Windows (línea de comandos):

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

    El comando curl incluye estas opciones:

    • --user <USER>:<PASSWORD>: especifica su nombre de usuario y contraseña de Artifactory. Alternativamente, si está utilizando un token de acceso, reemplace --user <USER>:<PASSWORD> con el siguiente encabezado adicional: --header "Authorization: Bearer <TOKEN>"

    • --request PUT: utiliza una solicitud PUT porque la subida modifica el repositorio.

    • https://my-artifactory-instance/my-repo/MathWorks/R2026aU0/: especifica el punto final de la URL de la carpeta tal como aparecerá en Artifactory. Incluya una barra invertida al final de la URL. Utilice el siguiente formato de URL:

      https://my-artifactory-instance/my-repo/MathWorks/R20XXyUn/
      • https://my-artifactory-instance/my-repo/ es la URL del repositorio Artifactory, como se determina en el campo "url" del archivo de configuración del repositorio.

      • MathWorks/ es la subcarpeta que almacena las versiones de los productos de MathWorks, como se determina en el campo "mathworks_products" dentro del campo "repository_layout" del archivo de configuración del repositorio.

      • R20XXyUn/ es una carpeta de versión de producto en la que R20XXy es el nombre de la versión (por ejemplo, R2026a) y Un es el número de actualización de la versión (por ejemplo, U0, U1, etc.).

  3. Suba el archivo ZIP a la carpeta de la versión del producto que acaba de crear en el repositorio Artifactory. Utilice JFrog CLI o la herramienta que prefiera. El siguiente ejemplo muestra cómo subir un archivo ZIP utilizando 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/"

    Windows (línea de comandos):

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

    El comando curl incluye estas opciones:

    • --user <USER>:<PASSWORD>: especifica su nombre de usuario y contraseña de Artifactory. Alternativamente, si está utilizando un token de acceso, reemplace --user <USER>:<PASSWORD> con el siguiente encabezado adicional: --header "Authorization: Bearer <TOKEN>"

    • --header "X-Explode-Archive:true": especifica X-Explode-Archive:true en el encabezado de la solicitud para descomprimir la carpeta después de subirla.

    • --request PUT: utiliza una solicitud PUT porque la subida modifica el repositorio.

    • --upload-file ...: especifica la ruta del archivo ZIP.

    • https://my-artifactory-instance/my-repo/MathWorks/R2026aU0/: especifica el punto final de la URL de la carpeta que creó en el paso anterior.

Instalar productos desde Artifactory

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

Para permitir a los usuarios instalar productos desde el repositorio Artifactory, proporcióneles lo siguiente:

  • Una copia del archivo de configuración del repositorio (por ejemplo, my_repo_config.json).

  • Una versión de mpm que sea compatible con su plataforma. Los usuarios pueden descargar la copia de mpm que se ha subido al repositorio o descargar mpm desde los servidores web de MathWorks siguiendo las instrucciones en Obtener el administrador de paquetes de MATLAB.

Este comando de ejemplo mpm install instala los productos desde el repositorio Artifactory utilizando el archivo de configuración almacenado en una ubicación compartida.

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 (ejecutar como administrador):

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

Para instalar una gran cantidad de productos, utilice la opción --inputfile para especificar los productos en un archivo de entrada. Para obtener más información, consulte el ejemplo Instalar productos desde un repositorio Artifactory utilizando un archivo de entrada en la página de referencia mpm install.

Los usuarios también pueden utilizar mpm en un Dockerfile para integrar MATLAB en canalizaciones CI/CD. Para ver un ejemplo, consulte Create MATLAB Container Image en GitHub®.

Consulte también

|

Temas