メインコンテンツ

Artifactory リポジトリからのインストールの構成

JFrog® が公開している Artifactory® は、バージョン管理、アクセス制御、CI/CD 統合をサポートするアーティファクト リポジトリ マネージャーです。コマンド ライン ツールの MATLAB® パッケージ マネージャー (mpm) を使用すると、ユーザーは組織の Artifactory リポジトリから MathWorks® 製品をダウンロードしてインストールできます。このトピックでは、MathWorks 製品のみを対象として、組織の Artifactory リポジトリからのインストールを構成する方法を説明します。(Artifactory リポジトリからのサポート パッケージのインストールは、現在サポートされていません。)

インストール構成のワークフロー

組織の Artifactory リポジトリから MathWorks 製品のインストールを構成するには、次のようにします。

  1. リポジトリのフォルダー構造を設定し、リポジトリから製品をインストールするために必要な JSON 構成ファイルを作成します (1 回限りの手順)。

  2. mpm download を使用して MathWorks から製品をダウンロードします。

  3. 製品を組織の Artifactory リポジトリにアップロードします。

Three steps for configuring installation from your organization's repository

MathWorks 製品の新しいリリース、または更新リリースごとに、上記の手順 2 と 3 を繰り返します。

これで、ユーザーは mpm install と構成ファイルを使用して、リポジトリから製品をインストールできるようになります。

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

リポジトリの設定と構成ファイルの作成 (1 回限りの手順)

An Artifactory repository with a folder hierarchy and JSON configuration file

Artifactory から製品をインストールするために必要な、リポジトリを設定する 1 回限りの手順を実行します。

リポジトリの設定

MathWorks 製品を保存するために使用する Artifactory リポジトリを設定します。

  1. Artifactory で、新しいリポジトリを作成するか、既存のリポジトリを再利用します。いずれの場合も、リポジトリのタイプは [汎用] に設定する必要があります。サンプル リポジトリ URL:

    http://artifactory.example.com/artifactory/my-repo
  2. Artifactory リポジトリの最上位フォルダーに、MathWorks リリースを保存するための MathWorks という名前のサブフォルダーを作成します。サンプル フォルダー構造:

    MathWorks/

    後続の手順で MathWorks から製品リリースをダウンロードしたら、それらのリリースを MathWorks サブフォルダーにアップロードします。各製品のリリースおよび更新は、MathWorks フォルダーの下にある個別のサブフォルダー (例: R20XXaU0R20XXaU1 など) に保存されます。このサンプル フォルダー構造は、複数のリリースと更新がアップロードされたリポジトリを示しています。

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

構成ファイルの作成

ユーザーが製品をインストールできるようにする JSON 構成ファイルを作成します。このファイルには、インストールに必要なリポジトリに関する情報が含まれています。

  1. JSON ファイルを作成します。たとえば、my_repo_config.json です。

  2. 次の内容を 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. リポジトリに合わせて JSON ファイルのフィールドを変更します。

    • "name" — Artifactory リポジトリの名前。

    • "url" — Artifactory リポジトリの URL。

    • "type" — リポジトリのタイプ。現在、サポートされているリポジトリ タイプは "artifactory" のみです。

    • "repository_layout" — Artifactory リポジトリのフォルダー レイアウト。repository_layout 内の各サブフィールドは、インストール可能な MathWorks ソフトウェアを保存するサブフォルダーを定義します。サポートされているサブフィールド:

      • "mathworks_products" — MathWorks 製品リリースを含むサブフォルダーの名前。たとえば、構成ファイルに次のフィールド値が含まれているとします。

        ...
        "url": "https://my-artifactory-instance/my-repo",
        ...
        "repository_layout": {
          "mathworks_products": "MathWorks"
        },
        ...
        R2026aU0 用の製品をインストールする場合、mpm は次の URL で製品を検索します。

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

    • "auth" — リポジトリにアクセスするための認証の詳細。サポートされているサブフィールド:

      • "type" — 認証タイプ。現在、サポートされているタイプは "token" のみです。

      • "access_token" — リポジトリにアクセスするユーザーを認証するために使用するトークン。IT 管理者からアクセス トークンを取得した後、そのトークンを ARTIFACTORY_ACCESS_TOKEN 環境変数に設定します。環境変数の設定については、組織の手順に従ってください。サンプル構文:

        ARTIFACTORY_ACCESS_TOKEN=abc123xyz456

        次に、JSON ファイル内の access_token フィールドで、次の構文を使用して環境変数名を指定します。

        "access_token": "${ARTIFACTORY_ACCESS_TOKEN}"

        または、環境変数を設定する代わりに、JSON ファイル内でアクセス トークンを直接指定することもできます。以下に例を示します。

        "access_token": "abc123xyz456"
  4. JSON ファイルは、共有ドライブなど、ユーザーがアクセスできる場所に保存します。ユーザーが Artifactory リポジトリからファイルをダウンロードできる場合は、ファイルを Artifactory リポジトリにアップロードすることを検討してください。

製品のダウンロード

A folder being downloaded from a MathWorks web server

Artifactory にアップロードする特定のリリースの製品をダウンロードするには、mpm を使用します。ISO や DMG イメージなど、他のソースからダウンロードした製品はアップロードできません。

  1. MATLAB パッケージ マネージャーの入手の手順に従って、mpm の最新バージョンを取得します。

  2. mpm download を使用して製品をダウンロードします。たとえば、Linux® (glnxa64) および Windows (win64) プラットフォームの両方で使用するために、Simulink® と Deep Learning Toolbox™ の初回リリース R2026a (アップデート 0) をダウンロードします。<USER> は、使用しているコンピューターのユーザー名に置き換えてください。mpm により必要な製品である MATLAB もダウンロードされます。

    Linux または 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

    多数の製品をダウンロードするには、--inputfile オプションを使用して、入力ファイルで製品を指定します。詳細については、mpm download リファレンス ページの入力ファイルを使用した製品のダウンロードの例を参照してください。

R2026aU0 フォルダーは、次の構造になっています。

R2026aU0/
  archives/
  mpm/
  ProductFilesInfo.xml

R2026aU0 フォルダーには、次のファイルとサブフォルダーが含まれています。

  • archives — ダウンロードした製品を含むサブフォルダー。

  • mpmmpm--platforms オプションで指定した各プラットフォーム向けにダウンロードされた mpm のバージョンを含むサブフォルダー。次のサンプル構造に示すように、ユーザーはこれらの mpm バージョンを使用して製品をインストールできます。

    mpm/
      glnxa64/
        mpm
      win64/
        mpm.exe

  • ProductFilesInfo.xml — 製品に関する情報を含むメタデータ ファイル。

Artifactory への製品のアップロード

A folder being uploaded to an Artifactory repo

前のセクションでダウンロードした製品を Artifactory にアップロードします。Artifactory ではフォルダーのアップロードがサポートされていないため、ダウンロードしたフォルダーを最初に ZIP ファイルに圧縮する必要があります。圧縮およびアップロードを行う前に、このフォルダーの構造や内容を変更しないでください。

  1. 任意のツールを使用して、ダウンロードしたリリース フォルダーを ZIP ファイルに圧縮します。たとえば、ダウンロードしたフォルダーに移動し、zip (Linux または Mac) または tar (Windows) を使用して、親フォルダーである Downloads に ZIP ファイルとして内容を圧縮します。

    Linux または Mac:

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

    Windows (コマンド プロンプト):

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

    ダウンロードした製品の数によっては、この処理に数分かかる場合があります。圧縮された ZIP ファイルには、この例に示すサブフォルダーおよびファイルが含まれている必要があります。

    R2026aU0.zip
      archives/
      mpm/
      ProductFilesInfo.xml
  2. Artifactory リポジトリ内の MathWorks フォルダーに、ZIP ファイルをアップロードするためのサブフォルダーを作成します。このサブフォルダーを作成するには、JFrog CLI または任意のツールを使用します。以下の例は、HTTPS Web リクエストを行うコマンド ライン REST API である curl を使用してフォルダーを作成する方法を示しています。

    Linux または Mac:

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

    Windows (コマンド プロンプト):

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

    curl コマンドには、次のオプションが含まれています。

    • --user <USER>:<PASSWORD> — ユーザー名と Artifactory パスワードを指定します。または、アクセス トークンを使用している場合は、--user <USER>:<PASSWORD> を追加ヘッダー --header "Authorization: Bearer <TOKEN>" に置き換えます。

    • --request PUT — アップロードによってリポジトリが変更されるため、PUT リクエストを使用します。

    • https://my-artifactory-instance/my-repo/MathWorks/R2026aU0/ — Artifactory 上に表示されるフォルダーの URL エンドポイントを指定します。URL の末尾にはスラッシュを含めてください。次の URL 形式を使用します。

      https://my-artifactory-instance/my-repo/MathWorks/R20XXyUn/
      • https://my-artifactory-instance/my-repo/ は、リポジトリ構成ファイルの "url" フィールドで指定された Artifactory リポジトリの URL です。

      • MathWorks/ は、リポジトリ構成ファイルの "repository_layout" フィールド内にある "mathworks_products" サブフィールドで指定された、MathWorks 製品リリースを保存するサブフォルダーです。

      • R20XXyUn/ は製品リリース フォルダーで、R20XXy はリリース名 (例: R2026a)、Un はアップデート リリース番号 (例: U0U1 など) を示します。

  3. 上記で Artifactory リポジトリ内に作成した製品リリース フォルダーに、ZIP ファイルをアップロードします。JFrog CLI または任意のツールを使用します。以下の例では、curl を使用して ZIP ファイルをアップロードする方法を示します。

    Linux または 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 (コマンド プロンプト):

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

    curl コマンドには、次のオプションが含まれています。

    • --user <USER>:<PASSWORD> — ユーザー名と Artifactory パスワードを指定します。または、アクセス トークンを使用している場合は、--user <USER>:<PASSWORD> を追加ヘッダー --header "Authorization: Bearer <TOKEN>" に置き換えます。

    • --header "X-Explode-Archive:true" — アップロード後にフォルダーを解凍するには、リクエスト ヘッダーで X-Explode-Archive:true を指定します。

    • --request PUT — アップロードによってリポジトリが変更されるため、PUT リクエストを使用します。

    • --upload-file ... — ZIP ファイルへのパスを指定します。

    • https://my-artifactory-instance/my-repo/MathWorks/R2026aU0/ — 前の手順で作成したフォルダーの URL エンドポイントを指定します。

Artifactory からの製品のインストール

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

ユーザーが Artifactory リポジトリから製品をインストールできるように、以下を提供します。

  • リポジトリ構成ファイルのコピー (例: my_repo_config.json)。

  • ユーザーのプラットフォームと互換性のある mpm のバージョン。ユーザーは、リポジトリにアップロードされた mpm のコピーをダウンロードするか、MATLAB パッケージ マネージャーの入手の手順に従って MathWorks Web サーバーから mpm をダウンロードできます。

次の mpm install サンプル コマンドは、共有場所に保存された構成ファイルを使用して、Artifactory リポジトリから製品をインストールします。

Linux または Mac:

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

Windows (管理者として実行):

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

多数の製品をインストールするには、--inputfile オプションを使用して、入力ファイルで製品を指定します。詳細については、mpm install リファレンス ページの入力ファイルを使用した Artifactory リポジトリからの製品のインストールの例を参照してください。

ユーザーは、Dockerfile 内で mpm を使用して、MATLAB を CI/CD パイプラインに統合することもできます。例については、GitHub®Create MATLAB Container Image を参照してください。

参考

|

トピック