パッケージをローカルでビルドおよびテストする - Deadline クラウド

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

パッケージをローカルでビルドおよびテストする

Amazon S3 にパッケージを発行したり、Deadline Cloud ファームで CI/CD オートメーションを設定する前に、ローカルファイルシステムチャネルを使用してワークステーションで conda パッケージを構築およびテストできます。このアプローチにより、レシピをローカルで迅速に反復処理し、パッケージを検証できます。

rattler-build publish コマンドはレシピを構築し、結果のパッケージをチャネルにコピーし、1 つのステップでチャネルのインデックスを作成します。ローカルファイルシステムディレクトリをターゲットにすると、ディレクトリが存在しない場合、 によってチャネルが自動的にrattler-build作成および初期化されます。

次の手順では、 Blenderの Deadline Cloud サンプルリポジトリの 4.5 サンプルレシピを使用しますGitHub。サンプルリポジトリとは異なるレシピを置き換えるか、独自のレシピを使用できます。

前提条件

開始する前に、ワークステーションに次のツールをインストールします。

  • pixi – パッケージのインストールrattler-buildとテストに使用するパッケージマネージャー。pixi.sh から pixi をインストールします。

  • rattler-build – Deadline Cloud conda レシピで使用されるパッケージビルドツール。pixi をインストールしたら、次のコマンドを実行して をインストールしますrattler-build

    pixi global install rattler-build
  • git – サンプルリポジトリのクローン作成に必要です。ではWindows、 の git Windows bash は、Windowsサンプルレシピの一部に必要なシェルも提供します。

パッケージの構築とローカルチャネルへの発行

この手順では、Deadline Cloud サンプルリポジトリのクローンを作成し、 rattler-build publish を使用してパッケージを構築し、ローカルファイルシステムチャネルに公開します。

パッケージを構築してローカルチャネルに公開するには
  1. Deadline Cloud サンプルリポジトリのクローンを作成します。

    git clone https://github.com/aws-deadline/deadline-cloud-samples.git
  2. conda_recipes ディレクトリを変更します。

    cd deadline-cloud-samples/conda_recipes
  3. 次のコマンドを実行して 4.5 Blender レシピを構築し、パッケージをローカルチャネルディレクトリに発行します。

    Linux と でmacOS、次のコマンドを実行します。

    rattler-build publish blender-4.5/recipe/recipe.yaml \ --to file://$HOME/my-conda-channel

    Windows (cmd) で、次のコマンドを実行します。

    rattler-build publish blender-4.5/recipe/recipe.yaml ^ --to file://%USERPROFILE%/my-conda-channel

    rattler-build publish コマンドは次のアクションを実行します。

    • レシピからパッケージを構築します。

    • ディレクトリが存在しない場合は、チャネルディレクトリを作成します。

    • パッケージファイルをチャネルにコピーします。

    • チャネルのインデックスを作成して、パッケージマネージャーがパッケージを検索できるようにします。

    パッケージレシピが conda-forge などの特定のチャネルからのパッケージに依存している場合は、 コマンド-c conda-forgeに を追加します。

レシピを変更した後にパッケージを再構築するには、 --build-number=+1を追加してビルド番号を自動的に増分します。

rattler-build publish blender-4.5/recipe/recipe.yaml \ --to file://$HOME/my-conda-channel \ --build-number=+1

の詳細についてはrattler-build publishrattler-build 公開ドキュメントを参照してください。

ビルドのデバッグ

ビルドが失敗した場合、 は調査できるようにビルドディレクトリrattler-buildを保持します。次のコマンドを実行して、ビルド中のすべての環境変数をセットアップして、ビルド環境でインタラクティブシェルを開きます。

rattler-build debug shell

デバッグシェルから、ファイルの変更、個々のビルドコマンドの実行、依存関係の追加を行って問題を分離できます。詳細については、rattler-build ドキュメントの「ビルドのデバッグ」を参照してください。

パッケージのテスト

パッケージを構築して公開したら、一時的な pixi プロジェクトを作成します。プロジェクトを使用してローカルチャネルからパッケージをインストールし、正しく動作することを確認します。

パッケージをテストするには
  1. 一時テストディレクトリを作成し、ローカルチャネルを使用して pixi プロジェクトを初期化します。

    Linux および でmacOS、次のコマンドを実行します。

    mkdir package-test-env cd package-test-env pixi init --channel file://$HOME/my-conda-channel

    Windows (cmd) で、次のコマンドを実行します。

    mkdir package-test-env cd package-test-env pixi init --channel file://%USERPROFILE%/my-conda-channel
  2. パッケージをプロジェクトに追加します。

    pixi add blender=4.5
  3. パッケージが正しく動作することを確認します。

    pixi run blender --version

パッケージに満足したら、Deadline Cloud ワーカーがパッケージをインストールできるように、パッケージを Amazon S3 conda チャネルに発行できます。「パッケージを S3 conda チャネルに発行する」を参照してください。

クリーンアップ

テスト後、テストプロジェクトとローカルチャネルを削除できます。

テストリソースをクリーンアップするには
  1. テストプロジェクトディレクトリを削除します。

    Linux と でmacOS、次のコマンドを実行します。

    rm -rf package-test-env

    Windows (cmd) で、次のコマンドを実行します。

    rmdir /s /q package-test-env
  2. ローカル conda チャネルディレクトリを削除します。

    Linux と でmacOS、次のコマンドを実行します。

    rm -rf $HOME/my-conda-channel

    Windows (cmd) で、次のコマンドを実行します。

    rmdir /s /q %USERPROFILE%\my-conda-channel
  3. (オプション) ビルドされたパッケージファイルを含むrattler-build出力ディレクトリを削除します。

    Linux と でmacOS、次のコマンドを実行します。

    rm -rf deadline-cloud-samples/conda_recipes/output

    Windows (cmd) で、次のコマンドを実行します。

    rmdir /s /q deadline-cloud-samples\conda_recipes\output