

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

# パッケージをローカルでビルドおよびテストする
<a name="build-test-packages-locally"></a>

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

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

次の手順では、 Blenderの [Deadline Cloud サンプルリポジトリの 4.5 サンプル](https://github.com/aws-deadline/deadline-cloud-samples)レシピを使用しますGitHub。サンプルリポジトリとは異なるレシピを置き換えるか、独自のレシピを使用できます。

## 前提条件
<a name="build-test-locally-prereqs"></a>

開始する前に、ワークステーションに次のツールをインストールします。
+ **pixi** – パッケージのインストール`rattler-build`とテストに使用するパッケージマネージャー。[pixi.sh](https://pixi.sh) から pixi をインストールします。
+ **rattler-build** – Deadline Cloud conda レシピで使用されるパッケージビルドツール。pixi をインストールしたら、次のコマンドを実行して をインストールします`rattler-build`。

  ```
  pixi global install rattler-build
  ```
+ **git** – サンプルリポジトリのクローン作成に必要です。ではWindows、 [の git Windows](https://gitforwindows.org/) `bash` は、Windowsサンプルレシピの一部に必要なシェルも提供します。

## パッケージの構築とローカルチャネルへの発行
<a name="build-test-locally-build"></a>

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

**パッケージを構築してローカルチャネルに公開するには**

1. Deadline Cloud サンプルリポジトリのクローンを作成します。

   ```
   git clone https://github.com/aws-deadline/deadline-cloud-samples.git
   ```

1. `conda_recipes` ディレクトリを変更します。

   ```
   cd deadline-cloud-samples/conda_recipes
   ```

1. 次のコマンドを実行して 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](https://conda-forge.org/) などの特定のチャネルからのパッケージに依存している場合は、 コマンド`-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 publish`、[rattler-build 公開ドキュメント](https://rattler-build.prefix.dev/latest/publish/)を参照してください。

## ビルドのデバッグ
<a name="build-test-locally-debug"></a>

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

```
rattler-build debug shell
```

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

## パッケージのテスト
<a name="build-test-locally-test"></a>

パッケージを構築して公開したら、一時的な 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
   ```

1. パッケージをプロジェクトに追加します。

   ```
   pixi add blender=4.5
   ```

1. パッケージが正しく動作することを確認します。

   ```
   pixi run blender --version
   ```

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

## クリーンアップ
<a name="build-test-locally-cleanup"></a>

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

**テストリソースをクリーンアップするには**

1. テストプロジェクトディレクトリを削除します。

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

   ```
   rm -rf package-test-env
   ```

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

   ```
   rmdir /s /q package-test-env
   ```

1. ローカル conda チャネルディレクトリを削除します。

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

   ```
   rm -rf $HOME/my-conda-channel
   ```

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

   ```
   rmdir /s /q %USERPROFILE%\my-conda-channel
   ```

1. (オプション) ビルドされたパッケージファイルを含む`rattler-build`出力ディレクトリを削除します。

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

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

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

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