翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon S3 conda チャネルにパッケージを発行する
Conda パッケージを Amazon Simple Storage Service (Amazon S3) バケットに発行して、Deadline Cloud (Deadline Cloud) AWS ワーカーが実行中のジョブ用にインストールできるようにします。rattler-build publish コマンドは、ローカルファイルシステムチャネルと同じ方法で Amazon S3 で動作します。コマンドはレシピを構築して結果を公開したり、既に構築したパッケージファイルを公開したりできます。どちらの場合も、 コマンドはパッケージをバケットにアップロードし、1 ステップでチャネルのインデックスを作成します。
rattler-build publish コマンドは標準の認証情報チェーン AWS を使用して で認証されるため、任意の AWS ツールのように AWS 設定を使用します。認証情報の設定の詳細については、 AWS Command Line Interface (AWS CLI) ユーザーガイドの「設定と認証情報ファイルの設定」を参照してください。
前提条件
Amazon S3 にパッケージを発行する前に、以下の前提条件を満たしてください。
-
pixi と rattler-build – pixi.sh
から pixi をインストールし、 をインストールします rattler-build。pixi global install rattler-build -
git – サンプルリポジトリのクローン作成に必要です。ではWindows、 の git Windows
bashは、Windowsサンプルレシピの一部に必要なシェルも提供します。 -
Amazon S3 バケット – conda チャネルとして使用する Amazon S3 バケット。Deadline Cloud ファームのジョブアタッチメントバケットを使用するか、別のバケットを作成できます。
-
AWS 認証情報 –
aws configureコマンドまたはaws loginコマンドを使用して、ワークステーションで認証情報を設定します。詳細については、AWS Command Line Interface ユーザーガイドの「AWS CLIのセットアップ」を参照してください。 -
IAM アクセス許可 – (オプション) 認証情報のアクセス許可の範囲を減らすには、Amazon S3 バケットと使用するチャネルプレフィックス (例: ) に対して以下のアクセス許可のみを付与する (IAM) ポリシーを使用できます AWS Identity and Access Management
/Conda/*。-
s3:GetObject -
s3:PutObject -
s3:DeleteObject -
s3:ListBucket -
s3:GetBucketLocation
-
Amazon S3 チャネルへのパッケージの発行
s3:// ターゲットrattler-build publishで を使用して、Amazon S3 conda チャネルにパッケージを発行します。チャネルがバケットに存在しない場合、 はチャネルを自動的にrattler-build初期化します。開始する前に、前提条件を満たしていることを確認してください。
次の例では、 の Deadline Cloud サンプルリポジトリから Blender 4.5 サンプルレシピを公開しますGitHub。 https://github.com/aws-deadline/deadline-cloud-samples
Amazon S3 チャネルにパッケージを発行するには
-
Deadline Cloud サンプルリポジトリのクローンを作成します。
git clone https://github.com/aws-deadline/deadline-cloud-samples.git -
conda_recipesディレクトリを変更します。cd deadline-cloud-samples/conda_recipes -
以下のコマンドを実行してください。
amzn-s3-demo-bucketをバケット名に置き換えます。Linux と でmacOS、次のコマンドを実行します。
rattler-build publish blender-4.5/recipe/recipe.yaml \ --to s3://amzn-s3-demo-bucket/Conda/DefaultWindows (cmd) で、次のコマンドを実行します。
rattler-build publish blender-4.5/recipe/recipe.yaml ^ --to s3://amzn-s3-demo-bucket/Conda/Default/Conda/Defaultプレフィックスは、バケット内のチャネルを整理します。別のプレフィックスを使用できますが、プレフィックスはチャネルを参照するすべてのコマンドとキュー設定で一貫している必要があります。
更新されたパッケージを再構築して公開するには、 --build-number=+1を追加してビルド番号を自動的に増分します。
rattler-build publish blender-4.5/recipe/recipe.yaml \ --to s3://amzn-s3-demo-bucket/Conda/Default \ --build-number=+1
パッケージレシピが conda-forge-c conda-forgeに を追加します。
ローカルビルドのファイルなど、既にビルドしたパッケージ.condaファイルを発行することもできます。amzn-s3-demo-bucket をバケット名に置き換えます。
rattler-build publish output/linux-64/blender-4.5.0-hb0f4dca_0.conda \ --to s3://amzn-s3-demo-bucket/Conda/Default
パッケージのテスト
パッケージを公開したら、一時 pixi プロジェクトを作成して、パッケージが正しく動作することを確認します。プロジェクトは、Amazon S3 チャネルからパッケージをインストールします。
パッケージをテストするには
-
一時的なテストディレクトリを作成し、Amazon S3 チャネルを使用して pixi プロジェクトを初期化します。
amzn-s3-demo-bucketをバケット名に置き換えます。mkdir package-test-env cd package-test-env pixi init --channel s3://amzn-s3-demo-bucket/Conda/Default -
パッケージをプロジェクトに追加します。
pixi add blender=4.5 -
パッケージが正しく動作することを確認します。
pixi run blender --version
クリーンアップ
テストが完了したら、テストプロジェクトディレクトリを削除します。
テストリソースをクリーンアップするには
-
テストプロジェクトディレクトリを削除します。
Linux と でmacOS、次のコマンドを実行します。
rm -rf package-test-envWindows (cmd) で、次のコマンドを実行します。
rmdir /s /q package-test-env
ビルドのデバッグ
ビルドが失敗した場合、 は調査できるようにビルドディレクトリrattler-buildを保持します。次のコマンドを実行して、ビルド中のすべての環境変数をセットアップして、ビルド環境でインタラクティブシェルを開きます。
rattler-build debug shell
デバッグシェルから、ファイルの変更、個々のビルドコマンドの実行、依存関係の追加を行って問題を分離できます。詳細については、rattler-build ドキュメントの「ビルドのデバッグ
他のプラットフォーム用のパッケージの構築
rattler-build publish コマンドは、コマンドを実行するワークステーションのオペレーティングシステム用のパッケージを構築します。Deadline Cloud フリートがワークステーションとは異なるオペレーティングシステムを使用している場合、またはパッケージに他のホスト要件がある場合は、次のオプションがあります。
-
ターゲットオペレーティングシステムに一致するホスト
rattler-build publishで を実行します。たとえば、実行中の Amazon Elastic Compute Cloud (Amazon EC2) インスタンスLinuxを使用して、Linuxフリートのパッケージを構築します。 -
Deadline Cloud パッケージ構築キューを使用して、ターゲットプラットフォームでのビルドを自動化します。「パッケージ構築キューを作成する」を参照してください。
-
(アドバンスト) クロスコンパイルを使用して、ワークステーションとは異なるプラットフォームのパッケージを構築します。詳細については、rattler-build ドキュメントの「クロスコンパイル
」を参照してください。
次の手順
Amazon S3 conda チャネルにパッケージを発行したら、チャネルを使用するように Deadline Cloud キューを設定します。
-
カスタム conda パッケージの本番稼働用キューのアクセス許可を設定する – 本番稼働用キューに Amazon S3 conda チャネルへの読み取り専用アクセスを許可します。
-
conda チャネルをキュー環境に追加する – Amazon S3 conda チャネルからパッケージをインストールするようにキュー環境を設定します。