

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Buat saluran conda menggunakan S3
<a name="configure-jobs-s3-channel"></a>

Jika pekerjaan Anda perlu menjalankan aplikasi yang tidak tersedia di [https://conda-forge.org/](https://conda-forge.org/)saluran [https://docs.aws.amazon.com/deadline-cloud/latest/userguide/create-queue-environment.html#conda-queue-environment](https://docs.aws.amazon.com/deadline-cloud/latest/userguide/create-queue-environment.html#conda-queue-environment)atau, Anda dapat meng-host saluran conda khusus untuk melayani paket Anda sendiri. Saat Anda membuat antrean di konsol AWS Deadline Cloud (Deadline Cloud), konsol akan menambahkan lingkungan antrean conda secara default. Untuk membuat paket Anda tersedia untuk pekerjaan, tambahkan saluran kustom ke lingkungan antrian.

Saluran conda adalah konten yang di-host statis yang dapat Anda host [dengan berbagai cara](https://rattler-build.prefix.dev/latest/publish/), termasuk di sistem file atau di bucket Amazon Simple Storage Service (Amazon S3). Jika Deadline Cloud farm menggunakan sistem file bersama untuk aset, Anda dapat menggunakan jalur apa pun di dalamnya sebagai nama saluran. Anda dapat meng-host saluran di bucket Amazon S3 untuk akses yang lebih luas menggunakan izin AWS Identity and Access Management (IAM).

Anda dapat [membuat dan menguji paket secara lokal](build-test-packages-locally.md), lalu [mempublikasikannya ke saluran](publish-packages-s3-channel.md). Membangun paket secara lokal adalah cara mudah untuk mulai mengulangi resep pembuatan paket tanpa pengaturan infrastruktur. Anda juga dapat menggunakan [antrean pembuatan paket](automate-package-builds.md) Deadline Cloud untuk membuat paket dan mempublikasikannya ke saluran. Antrian pembuatan paket menyederhanakan pemeliharaan paket untuk beberapa sistem operasi dan konfigurasi akselerator. Anda dapat memperbarui versi dan mengirimkan set lengkap paket build dari mana saja.

Anda dapat mengonfigurasi saluran untuk studio dan Deadline Cloud farm Anda dengan berbagai cara. Anda dapat memiliki satu saluran Amazon S3 dan mengonfigurasi semua workstation dan host pertanian Anda untuk menggunakannya. Anda juga dapat memiliki lebih dari satu saluran dan mengatur mirroring dengan AWS DataSync (DataSync). Misalnya, antrean pembuatan paket Deadline Cloud dapat dipublikasikan ke saluran Amazon S3 yang dicerminkan di tempat untuk workstation dan host farm lokal.

**Topics**
+ [Buat dan uji paket secara lokal](build-test-packages-locally.md)
+ [Publikasikan paket ke saluran conda Amazon S3](publish-packages-s3-channel.md)
+ [Konfigurasikan izin antrian produksi untuk paket conda kustom](#s3-channel-configure-permissions)
+ [Menambahkan saluran conda ke lingkungan antrian](#s3-channel-add-channel)
+ [Buat paket conda untuk aplikasi atau plugin](conda-package.md)
+ [Buat resep conda build untuk Blender](create-conda-recipe-blender.md)
+ [Buat resep conda build untuk Autodesk Maya](create-conda-recipe-maya.md)
+ [Buat resep build conda untuk plugin Autodesk Maya to Arnold (MtoA)](create-conda-recipe-mtoa-plugin.md)
+ [Mengotomatiskan pembuatan paket dengan Deadline Cloud](automate-package-builds.md)

# Buat dan uji paket secara lokal
<a name="build-test-packages-locally"></a>

Sebelum memublikasikan paket ke Amazon S3 atau menyiapkan CI/CD otomatisasi di pertanian Deadline Cloud, Anda dapat membuat dan menguji paket conda di workstation menggunakan saluran sistem file lokal. Pendekatan ini memungkinkan Anda dengan cepat mengulangi resep secara lokal dan memverifikasi paket.

`rattler-build publish`Perintah membangun resep, menyalin paket yang dihasilkan ke saluran, dan mengindeks saluran dalam satu langkah. Saat Anda menargetkan direktori sistem file lokal, `rattler-build` membuat dan menginisialisasi saluran secara otomatis jika direktori tidak ada.

Petunjuk berikut menggunakan resep sampel Blender 4.5 dari repositori [sampel Deadline Cloud](https://github.com/aws-deadline/deadline-cloud-samples) pada. GitHub Anda dapat mengganti resep yang berbeda dari repositori sampel atau menggunakan resep Anda sendiri.

## Prasyarat
<a name="build-test-locally-prereqs"></a>

Sebelum Anda mulai, instal alat-alat berikut di workstation Anda:
+ **pixi** — Manajer paket yang Anda gunakan untuk menginstal `rattler-build` dan menguji paket. Instal pixi dari [pixi.sh](https://pixi.sh).
+ **rattler-build** — Alat pembuatan paket yang digunakan oleh resep Conda Deadline Cloud. Setelah Anda menginstal pixi, jalankan perintah berikut untuk menginstal`rattler-build`.

  ```
  pixi global install rattler-build
  ```
+ **git** — Diperlukan untuk mengkloning repositori sampel. OnWindows, [git for Windows](https://gitforwindows.org/) juga menyediakan `bash` shell, yang diperlukan oleh beberapa resep Windows sampel.

## Membangun dan menerbitkan paket ke saluran lokal
<a name="build-test-locally-build"></a>

Dalam prosedur ini, Anda mengkloning repositori sampel Deadline Cloud dan menggunakannya `rattler-build publish` untuk membangun dan mempublikasikan paket ke saluran sistem file lokal.

**Untuk membuat dan memublikasikan paket ke saluran lokal**

1. Kloning repositori sampel Deadline Cloud.

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

1. Ubah ke direktori `conda_recipes`.

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

1. Jalankan perintah berikut untuk membangun resep Blender 4.5 dan mempublikasikan paket ke direktori saluran lokal.

   LinuxAktif danmacOS, jalankan perintah berikut.

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

   Pada Windows (cmd), jalankan perintah berikut.

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

   `rattler-build publish`Perintah melakukan tindakan berikut:
   + Membangun paket dari resep.
   + Membuat direktori saluran jika direktori tidak ada.
   + Menyalin file paket ke saluran.
   + Mengindeks saluran sehingga manajer paket dapat menemukan paket.

   Jika resep paket Anda bergantung pada paket dari saluran tertentu, seperti [conda-forge](https://conda-forge.org/), tambahkan `-c conda-forge` ke perintah.

Untuk membangun kembali paket setelah membuat perubahan pada resep, tambahkan `--build-number=+1` untuk secara otomatis menambah nomor build.

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

Untuk informasi selengkapnya`rattler-build publish`, lihat dokumentasi publikasi [rattler-build](https://rattler-build.prefix.dev/latest/publish/).

## Membangun debugging
<a name="build-test-locally-debug"></a>

Jika build gagal, `rattler-build` mempertahankan direktori build sehingga Anda dapat menyelidikinya. Jalankan perintah berikut untuk membuka shell interaktif di lingkungan build dengan semua variabel lingkungan diatur sebagaimana adanya selama pembuatan.

```
rattler-build debug shell
```

Dari shell debug, Anda dapat memodifikasi file, menjalankan perintah build individual, dan menambahkan dependensi untuk mengisolasi masalah. Untuk informasi selengkapnya, lihat [Mendebug build](https://rattler-build.prefix.dev/latest/debugging_builds/) di dokumentasi rattler-build.

## Menguji paket
<a name="build-test-locally-test"></a>

Setelah Anda membangun dan menerbitkan paket, buat proyek pixi sementara. Gunakan proyek untuk menginstal paket dari saluran lokal dan memverifikasi bahwa itu berfungsi dengan benar.

**Untuk menguji paket**

1. Buat direktori pengujian sementara dan inisialisasi proyek pixi dengan saluran lokal.

   LinuxAktif danmacOS, jalankan perintah berikut.

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

   Pada Windows (cmd), jalankan perintah berikut.

   ```
   mkdir package-test-env
   cd package-test-env
   pixi init --channel file://%USERPROFILE%/my-conda-channel
   ```

1. Tambahkan paket ke proyek.

   ```
   pixi add blender=4.5
   ```

1. Verifikasi bahwa paket berfungsi dengan benar.

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

Ketika Anda puas dengan paket, Anda dapat mempublikasikan paket ke saluran conda Amazon S3 sehingga pekerja Deadline Cloud dapat menginstal paket. Lihat [Menerbitkan paket ke saluran conda S3](publish-packages-s3-channel.md).

## Membersihkan
<a name="build-test-locally-cleanup"></a>

Setelah pengujian, Anda dapat menghapus proyek pengujian dan saluran lokal.

**Untuk membersihkan sumber daya pengujian**

1. Hapus direktori proyek uji.

   LinuxAktif danmacOS, jalankan perintah berikut.

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

   Pada Windows (cmd), jalankan perintah berikut.

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

1. Hapus direktori saluran conda lokal.

   LinuxAktif danmacOS, jalankan perintah berikut.

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

   Pada Windows (cmd), jalankan perintah berikut.

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

1. (Opsional) Hapus direktori `rattler-build` output yang berisi file paket yang dibangun.

   LinuxAktif danmacOS, jalankan perintah berikut.

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

   Pada Windows (cmd), jalankan perintah berikut.

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

# Publikasikan paket ke saluran conda Amazon S3
<a name="publish-packages-s3-channel"></a>

Anda dapat memublikasikan paket conda ke bucket Amazon Simple Storage Service (Amazon S3) S3 sehingga pekerja AWS Deadline Cloud (Deadline Cloud) dapat menginstalnya untuk menjalankan pekerjaan. `rattler-build publish`Perintah ini bekerja dengan Amazon S3 dengan cara yang sama seperti dengan saluran sistem file lokal. Perintah dapat membuat resep dan mempublikasikan hasilnya, atau mempublikasikan file paket yang sudah Anda buat. Dalam kedua kasus tersebut, perintah mengunggah paket ke bucket dan mengindeks saluran dalam satu langkah.

`rattler-build publish`Perintah mengautentikasi dengan AWS menggunakan rantai kredensi standar, sehingga menggunakan AWS konfigurasi Anda seperti alat apa pun AWS . Untuk informasi selengkapnya tentang mengonfigurasi kredensional, lihat [Pengaturan file konfigurasi dan kredensi](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html) di *AWS Command Line Interface ()AWS CLI* Panduan Pengguna.

## Prasyarat
<a name="publish-s3-prereqs"></a>

Sebelum Anda mempublikasikan paket ke Amazon S3, lengkapi prasyarat berikut:
+ **pixi dan rattler-build** [- Instal pixi dari pixi.sh, lalu instal.](https://pixi.sh) `rattler-build`

  ```
  pixi global install rattler-build
  ```
+ **git** — Diperlukan untuk mengkloning repositori sampel. OnWindows, [git for Windows](https://gitforwindows.org/) juga menyediakan `bash` shell, yang diperlukan oleh beberapa resep Windows sampel.
+ Bucket **Amazon S3 — Bucket** Amazon S3 untuk digunakan sebagai saluran conda. Anda dapat menggunakan bucket lampiran pekerjaan dari Deadline Cloud farm atau membuat bucket terpisah.
+ **AWS credentials** — Konfigurasikan kredensional di workstation Anda menggunakan perintah atau perintah. `aws configure` `aws login` Untuk informasi selengkapnya, lihat [Menyiapkan AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-quickstart.html) di *AWS Command Line Interface Panduan Pengguna*.
+ **Izin IAM** — (Opsional) Untuk mengurangi cakupan izin yang dimiliki kredensional, Anda dapat menggunakan kebijakan AWS Identity and Access Management (IAM) yang hanya memberikan izin berikut di bucket Amazon S3 dan awalan saluran yang Anda gunakan (misalnya,): `/Conda/*`
  + `s3:GetObject`
  + `s3:PutObject`
  + `s3:DeleteObject`
  + `s3:ListBucket`
  + `s3:GetBucketLocation`

## Menerbitkan paket ke saluran Amazon S3
<a name="publish-s3-procedure"></a>

Gunakan `rattler-build publish` dengan `s3://` target untuk mempublikasikan paket ke saluran conda Amazon S3 Anda. Jika saluran tidak ada di ember, `rattler-build` inisialisasi saluran secara otomatis. Sebelum Anda mulai, pastikan Anda telah menyelesaikan [prasyarat](#publish-s3-prereqs).

Contoh berikut menerbitkan resep sampel Blender 4.5 dari repositori sampel [Deadline Cloud](https://github.com/aws-deadline/deadline-cloud-samples) pada. GitHub Anda dapat mengganti resep yang berbeda dari repositori sampel atau menggunakan resep Anda sendiri.

**Untuk mempublikasikan paket ke saluran Amazon S3**

1. Kloning repositori sampel Deadline Cloud.

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

1. Ubah ke direktori `conda_recipes`.

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

1. Jalankan perintah berikut. Ganti *amzn-s3-demo-bucket* dengan nama bucket Anda.

   LinuxAktif danmacOS, jalankan perintah berikut.

   ```
   rattler-build publish blender-4.5/recipe/recipe.yaml \
       --to s3://amzn-s3-demo-bucket/Conda/Default
   ```

   Pada Windows (cmd), jalankan perintah berikut.

   ```
   rattler-build publish blender-4.5/recipe/recipe.yaml ^
       --to s3://amzn-s3-demo-bucket/Conda/Default
   ```

   `/Conda/Default`Awalan mengatur saluran di dalam ember. Anda dapat menggunakan awalan yang berbeda, tetapi awalan harus konsisten di semua perintah dan konfigurasi antrian yang mereferensikan saluran.

Untuk membangun kembali dan memublikasikan paket yang diperbarui, tambahkan `--build-number=+1` untuk menambah nomor build secara otomatis.

```
rattler-build publish blender-4.5/recipe/recipe.yaml \
    --to s3://amzn-s3-demo-bucket/Conda/Default \
    --build-number=+1
```

Jika resep paket Anda bergantung pada paket dari saluran tertentu, seperti [conda-forge](https://conda-forge.org/), tambahkan `-c conda-forge` ke perintah.

Anda juga dapat memublikasikan file paket yang sudah Anda buat, misalnya, `.conda` file dari build lokal. Ganti *amzn-s3-demo-bucket* dengan nama bucket Anda.

```
rattler-build publish output/linux-64/blender-4.5.0-hb0f4dca_0.conda \
    --to s3://amzn-s3-demo-bucket/Conda/Default
```

## Menguji paket
<a name="publish-s3-test"></a>

Setelah Anda mempublikasikan paket, buat proyek pixi sementara untuk memverifikasi bahwa paket berfungsi dengan benar. Proyek ini menginstal paket dari saluran Amazon S3.

**Untuk menguji paket**

1. Buat direktori pengujian sementara dan inisialisasi proyek pixi dengan saluran Amazon S3. Ganti *amzn-s3-demo-bucket* dengan nama bucket Anda.

   ```
   mkdir package-test-env
   cd package-test-env
   pixi init --channel s3://amzn-s3-demo-bucket/Conda/Default
   ```

1. Tambahkan paket ke proyek.

   ```
   pixi add blender=4.5
   ```

1. Verifikasi bahwa paket berfungsi dengan benar.

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

## Membersihkan
<a name="publish-s3-cleanup"></a>

Setelah pengujian, hapus direktori proyek uji.

**Untuk membersihkan sumber daya pengujian**
+ Hapus direktori proyek uji.

  LinuxAktif danmacOS, jalankan perintah berikut.

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

  Pada Windows (cmd), jalankan perintah berikut.

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

## Membangun debugging
<a name="publish-s3-debug"></a>

Jika build gagal, `rattler-build` mempertahankan direktori build sehingga Anda dapat menyelidikinya. Jalankan perintah berikut untuk membuka shell interaktif di lingkungan build dengan semua variabel lingkungan diatur sebagaimana adanya selama pembuatan.

```
rattler-build debug shell
```

Dari shell debug, Anda dapat memodifikasi file, menjalankan perintah build individual, dan menambahkan dependensi untuk mengisolasi masalah. Untuk informasi selengkapnya, lihat [Mendebug build](https://rattler-build.prefix.dev/latest/debugging_builds/) di dokumentasi rattler-build.

## Membangun paket untuk platform lain
<a name="publish-s3-cross-platform"></a>

`rattler-build publish`Perintah membangun paket untuk sistem operasi workstation tempat perintah berjalan. Jika armada Deadline Cloud Anda menggunakan sistem operasi yang berbeda dari workstation Anda, atau jika paket Anda memiliki persyaratan host lain, Anda memiliki opsi berikut:
+ Jalankan `rattler-build publish` pada host yang cocok dengan sistem operasi target. Misalnya, gunakan instans Amazon Elastic Compute Cloud (Amazon EC2) yang Linux berjalan untuk membuat paket untuk armada. Linux
+ Gunakan antrian pembuatan paket Deadline Cloud untuk mengotomatiskan build di platform target. Lihat [Membuat antrian pembuatan paket](automate-package-builds.md#s3-channel-create-queue).
+ (Advanced) Gunakan kompilasi silang untuk membangun paket untuk platform yang berbeda dari workstation Anda. Untuk informasi selengkapnya, lihat [Cross-compilation](https://rattler-build.prefix.dev/latest/compilers/#cross-compilation) dalam dokumentasi rattler-build.

## Langkah selanjutnya
<a name="publish-s3-next-steps"></a>

Setelah memublikasikan paket ke saluran conda Amazon S3, konfigurasikan antrian Deadline Cloud Anda untuk menggunakan saluran:
+ [Konfigurasikan izin antrian produksi untuk paket conda kustom](configure-jobs-s3-channel.md#s3-channel-configure-permissions) — Berikan akses hanya-baca antrian produksi Anda ke saluran conda Amazon S3.
+ [Menambahkan saluran conda ke lingkungan antrian — Konfigurasikan lingkungan](configure-jobs-s3-channel.md#s3-channel-add-channel) antrian untuk menginstal paket dari saluran conda Amazon S3.

## Konfigurasikan izin antrian produksi untuk paket conda kustom
<a name="s3-channel-configure-permissions"></a>

Antrian produksi Anda memerlukan izin hanya-baca ke `/Conda` awalan di bucket S3 antrian. Buka halaman AWS Identity and Access Management (IAM) untuk peran yang terkait dengan antrian produksi dan ubah kebijakan dengan yang berikut:

1. Buka konsol Deadline Cloud dan arahkan ke halaman detail antrian untuk antrean pembuatan paket.

1. Pilih peran layanan antrian, lalu pilih **Edit antrian**.

1. Gulir ke bagian **Peran layanan antrian**, lalu pilih **Lihat peran ini di konsol IAM**.

1. Dari daftar kebijakan izin, pilih antrian **AmazonDeadlineCloudQueuePolicy**untuk Anda.

1. Dari tab **Izin**, pilih **Edit**.

1. Tambahkan bagian baru ke peran layanan antrian seperti berikut ini. Ganti *amzn-s3-demo-bucket* dan *111122223333* dengan ember dan akun Anda sendiri.

   ```
   {
      "Effect": "Allow",
      "Sid": "CustomCondaChannelReadOnly",
      "Action": [
       "s3:GetObject",
       "s3:ListBucket"
      ],
      "Resource": [
       "arn:aws:s3:::amzn-s3-demo-bucket",
       "arn:aws:s3:::amzn-s3-demo-bucket/Conda/*"
      ],
      "Condition": {
       "StringEquals": {
        "aws:ResourceAccount": "111122223333"
       }
      }
     },
   ```

## Menambahkan saluran conda ke lingkungan antrian
<a name="s3-channel-add-channel"></a>

Untuk menggunakan saluran conda S3, Anda perlu menambahkan lokasi `s3://amzn-s3-demo-bucket/Conda/Default` saluran ke `CondaChannels` parameter pekerjaan yang Anda kirimkan ke Deadline Cloud. Pengirim yang dilengkapi dengan Deadline Cloud menyediakan bidang untuk menentukan saluran dan paket conda kustom.

Anda dapat menghindari memodifikasi setiap pekerjaan dengan mengedit lingkungan antrian conda untuk antrian produksi Anda. Gunakan prosedur berikut:

1. Buka konsol Deadline Cloud dan arahkan ke halaman detail antrian untuk antrean produksi.

1. Pilih tab lingkungan.

1. **Pilih lingkungan antrian **Conda**, lalu pilih Edit.**

1. Pilih **editor JSON**, dan kemudian dalam skrip, temukan definisi parameter untuk`CondaChannels`.

1. Edit baris `default: "deadline-cloud"` sehingga dimulai dengan saluran conda S3 yang baru dibuat:

   ```
   default: "s3://amzn-s3-demo-bucket/Conda/Default deadline-cloud"
   ```

Armada yang dikelola layanan memungkinkan prioritas saluran fleksibel untuk conda secara default. Untuk pekerjaan yang meminta `blender=4.2` apakah Blender 4.2 ada di saluran baru dan `deadline-cloud` saluran, paket akan ditarik dari saluran mana pun yang pertama dalam daftar saluran. Jika versi paket tertentu tidak ditemukan di saluran pertama maka saluran berikutnya akan diperiksa untuk versi paket.

Untuk armada yang dikelola pelanggan, Anda dapat mengaktifkan penggunaan paket conda dengan menggunakan salah satu [contoh lingkungan antrian conda di repositori sampel](https://github.com/aws-deadline/deadline-cloud-samples/blob/mainline/queue_environments/README.md) Deadline Cloud. GitHub

# Buat paket conda untuk aplikasi atau plugin
<a name="conda-package"></a>

Paket conda adalah arsip perangkat lunak terkompresi yang ditulis dalam bahasa apa pun. Conda mendukung berbagai kombinasi sistem operasi dan arsitektur, sehingga Anda dapat mengemas aplikasi lengkap sepertiBlender,Maya, dan Nuke bersama pustaka untuk Python dan bahasa lainnya. Untuk informasi selengkapnya tentang paket conda, lihat [Paket](https://docs.conda.io/projects/conda/en/latest/user-guide/concepts/packages.html) dalam dokumentasi conda.

Untuk menggunakan paket conda, Anda menginstalnya ke lingkungan virtual. Lingkungan virtual conda memiliki *direktori awalan* tempat paket diinstal. Menginstal paket menggunakan hardlinking atau reflinking file saat didukung, sehingga membuat beberapa lingkungan dengan paket yang sama tidak menggunakan ruang disk tambahan yang signifikan. Untuk menggunakan lingkungan virtual, Anda mengaktifkannya untuk mengatur variabel lingkungan. Aktivasi menjalankan skrip yang disediakan paket, memberikan setiap paket kesempatan untuk memodifikasi PATH atau variabel lingkungan lainnya. Paket Conda biasanya berisi aplikasi atau pustaka, tetapi aktivasi fleksibel berarti mereka juga dapat menunjuk ke aplikasi yang diinstal pada sistem file bersama.

Membuat paket khusus melibatkan tiga tahap: *resep* berisi instruksi pembuatan, *paket* adalah artefak (`.conda`atau `.tar.bz2` file) yang dibangun, dan *saluran* menghosting paket untuk instalasi. `rattler-build publish`Perintah menangani ketiga langkah—dapat membangun resep ke dalam paket dan mempublikasikannya ke saluran, atau dapat mengambil artefak paket secara langsung untuk menerbitkannya.

Komunitas [conda-forge](https://conda-forge.org/) memelihara resep paket untuk serangkaian perangkat lunak open source yang luas, dan menghosting artefak paket di saluran. `conda-forge` Anda dapat mengonfigurasi antrian untuk disertakan `conda-forge` sebagai sumber paket, lalu membangun paket khusus yang bergantung pada paket conda-forge untuk dijalankan. UntukLinux, conda-forge menghosting rantai alat kompiler lengkap termasuk dukungan CUDA, dengan opsi kompilasi dan penautan yang konsisten dipilih. Anda dapat menggunakan paket conda-forge sebagai dependensi dalam resep Anda sendiri, atau menginstalnya bersama paket kustom Anda di lingkungan yang sama.

Anda dapat menggabungkan seluruh aplikasi, termasuk dependensi, ke dalam paket conda. Paket Deadline Cloud menyediakan di [saluran deadline-cloud](https://docs.aws.amazon.com/deadline-cloud/latest/userguide/create-queue-environment.html#conda-queue-environment) untuk armada yang dikelola layanan menggunakan pendekatan pengemasan ulang biner ini. Ini mengatur file yang sama sebagai instalasi agar sesuai dengan lingkungan virtual conda.

**catatan**  
Aplikasi besar dapat memerlukan puluhan GB ruang disk kosong untuk arsip sumber, file yang diekstraksi, dan membangun output. Pastikan Anda menggunakan disk dengan ruang yang cukup untuk output build paket.

## Package sebuah aplikasi
<a name="conda-package-application"></a>

Saat mengemas ulang aplikasi untuk conda, ada dua tujuan:
+ Sebagian besar file untuk aplikasi harus terpisah dari struktur lingkungan virtual conda utama. Lingkungan kemudian dapat mencampur aplikasi dengan paket dari sumber lain seperti [conda-forge](https://conda-forge.org/).
+ Ketika lingkungan virtual conda diaktifkan, aplikasi harus tersedia dari variabel lingkungan PATH.

**Untuk mengemas ulang aplikasi untuk conda**

1. Tulis resep conda build yang menginstal aplikasi ke dalam subdirektori seperti. `$CONDA_PREFIX/opt/<application-name>` Ini memisahkannya dari direktori awalan standar seperti dan. `bin` `lib`

1. Tambahkan symlink atau luncurkan skrip `$CONDA_PREFIX/bin` untuk menjalankan binari aplikasi.

   Atau, buat skrip activate.d yang akan dijalankan `conda activate` perintah untuk menambahkan direktori biner aplikasi ke PATH. AktifWindows, di mana symlink tidak didukung di mana pun lingkungan dapat dibuat, gunakan peluncuran aplikasi atau aktifkan skrip.d sebagai gantinya.

1. Beberapa aplikasi bergantung pada pustaka yang tidak diinstal secara default pada armada yang dikelola layanan Deadline Cloud. Misalnya, sistem jendela X11 biasanya tidak diperlukan untuk pekerjaan non-interaktif, tetapi beberapa aplikasi masih mengharuskannya untuk berjalan tanpa antarmuka grafis. Anda harus memberikan dependensi tersebut dalam paket yang Anda buat.

1. Jika aplikasi mendukung plugin, berikan konvensi yang jelas bahwa paket plugin harus mengikuti untuk mengintegrasikan dengan aplikasi dalam lingkungan virtual. Misalnya, [resep sampel Maya 2026](https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline/conda_recipes/maya-2026#instructions-for-maya-plugin-packages) mendokumentasikan konvensi ini untuk Maya plugin.

1. Pastikan Anda mengikuti perjanjian hak cipta dan lisensi untuk aplikasi yang Anda paket. Sebaiknya gunakan bucket Amazon S3 pribadi untuk saluran conda Anda guna mengontrol distribusi dan membatasi akses paket ke peternakan Anda.

Contoh resep untuk paket di `deadline-cloud` saluran tersedia di repositori [sampel Deadline Cloud](https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline/conda_recipes#readme) pada. GitHub

## Package sebuah plugin
<a name="conda-package-plugins"></a>

Plugin aplikasi dapat dikemas sebagai paket conda mereka sendiri. Saat membuat paket plugin, ikuti panduan ini:
+ Sertakan paket aplikasi host sebagai dependensi build dan run dalam resep `recipe.yaml` build. Gunakan batasan versi sehingga resep build hanya diinstal dengan paket yang kompatibel.
+ Ikuti konvensi paket aplikasi host untuk mendaftarkan plugin.

## Paket adaptor
<a name="conda-package-adaptors"></a>

[Beberapa integrasi aplikasi Deadline Cloud menggunakan *adaptor* yang memperluas antarmuka aplikasi untuk menyederhanakan penulisan templat pekerjaan.](building-jobs.md) Adaptor adalah antarmuka baris perintah dengan dukungan untuk menjalankan daemon latar belakang, status pelaporan, dan menerapkan pemetaan jalur. Untuk informasi selengkapnya, lihat [Open Job Description Adaptor Runtime aktif](https://github.com/OpenJobDescription/openjd-adaptor-runtime-for-python#readme). GitHub Misalnya, [deadline-cloud-for-maya](https://github.com/aws-deadline/deadline-cloud-for-maya/)pada GitHub menyertakan GUI pengiriman pekerjaan terintegrasi dan Maya adaptor yang tersedia sebagai `maya-openjd` paket pada armada yang dikelola layanan.

Pengajuan Job dari Deadline Cloud submitter GUIs menyertakan nilai `CondaPackages` parameter yang menentukan paket conda untuk disertakan dalam lingkungan virtual untuk menjalankan pekerjaan. Nilai `CondaPackages` parameter untuk Maya biasanya terlihat seperti `maya=2025.* maya-openjd=0.15.* maya-mtoa` dan mungkin berisi entri alternatif untuk paket plugin. Ketika lingkungan antrian menyiapkan lingkungan virtual conda untuk menjalankan pekerjaan, itu menyelesaikan nama paket dan batasan versi ini agar kompatibel dan menambahkan semua paket ketergantungan yang perlu mereka jalankan. Setiap paket adaptor dan plugin menentukan apa yang kompatibel dengannya, termasuk versi manaMaya, versi Python, dan dependensi lainnya.

[Untuk membuat paket adaptor Anda sendiri menggunakan sampel kami seperti [resep maya-openjd](https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline/conda_recipes/maya-openjd)GitHub, Anda dapat membangun paket untuk Python dan dependensi lain yang disediakan oleh conda-forge.](https://conda-forge.org/) Anda mungkin perlu membuat [tenggat waktu](https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline/conda_recipes/deadline) dan [openjd-adaptor-runtime](https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline/conda_recipes/openjd-adaptor-runtime)resep terlebih dahulu untuk memenuhi dependensi.

# Buat resep conda build untuk Blender
<a name="create-conda-recipe-blender"></a>

Anda dapat menggunakan aplikasi yang berbeda untuk membuat resep build conda. Blendergratis untuk digunakan dan mudah dikemas dengan conda. BlenderYayasan menyediakan [arsip aplikasi](https://download.blender.org/release/Blender4.2/) untuk beberapa sistem operasi. Kami membuat contoh resep build conda yang menggunakan file Windows.zip dan Linux .tar.xz. Di bagian ini, pelajari cara menggunakan [resep Blender 4.2 conda build](https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline/conda_recipes/blender-4.2). 

File [deadline-cloud.yaml](https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline/conda_recipes/blender-4.2) menentukan platform conda dan metadata lainnya untuk mengirimkan pekerjaan paket ke Deadline Cloud. Resep ini mencakup informasi arsip sumber lokal untuk menunjukkan cara kerjanya. Platform conda linux-64 diatur untuk membangun pengiriman pekerjaan default agar sesuai dengan konfigurasi yang paling umum. Deadline-cloud.yaml terlihat mirip dengan berikut ini: 

```
condaPlatforms:
  - platform: linux-64
    defaultSubmit: true
    sourceArchiveFilename: blender-4.2.1-linux-x64.tar.xz
    sourceDownloadInstructions: 'Run "curl -LO https://download.blender.org/release/Blender4.2/blender-4.2.1-linux-x64.tar.xz"'
  - platform: win-64
    defaultSubmit: false
    sourceArchiveFilename: blender-4.2.1-windows-x64.zip
    sourceDownloadInstructions: 'Run "curl -LO https://download.blender.org/release/Blender4.2/blender-4.2.1-windows-x64.zip"'
```

Tinjau file di `recipe` direktori. [Metadata untuk resepnya ada di resep/resep.yaml.](https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline/conda_recipes/blender-4.2/recipe/recipe.yaml) Anda juga dapat membaca dokumentasi conda build [meta.yaml](https://docs.conda.io/projects/conda-build/en/latest/resources/define-metadata.html) untuk mempelajari lebih lanjut, seperti bagaimana file tersebut merupakan template untuk menghasilkan YAMAL. Template digunakan untuk menentukan nomor versi hanya sekali, dan untuk memberikan nilai yang berbeda berdasarkan sistem operasi. 

Anda dapat meninjau opsi build yang dipilih `meta.yaml` untuk menonaktifkan berbagai pemeriksaan penautan relokasi biner dan objek bersama dinamis (DSO). Opsi ini mengontrol cara kerja paket saat diinstal ke lingkungan virtual conda di awalan direktori apa pun. Nilai default menyederhanakan pengemasan setiap pustaka dependensi ke dalam paket terpisah, tetapi ketika mengemas ulang aplikasi biner, Anda perlu mengubahnya. 

Jika aplikasi yang Anda kemas memerlukan pustaka ketergantungan tambahan atau Anda mengemas plugin untuk aplikasi secara terpisah, Anda mungkin mengalami kesalahan DSO. Kesalahan ini terjadi ketika ketergantungan tidak ada di jalur pencarian perpustakaan untuk executable atau pustaka yang membutuhkannya. Aplikasi bergantung pada pustaka yang berada di jalur yang ditentukan secara global, seperti `/lib` atau`/usr/lib`, ketika diinstal pada sistem. Namun, karena lingkungan virtual conda dapat ditempatkan di mana saja, tidak ada jalur absolut untuk digunakan. Conda menggunakan fitur RPATH relatif, yang keduanya Linux dan macOS mendukung, untuk menangani ini. Lihat dokumentasi conda build tentang [Membuat paket dapat dipindahkan untuk informasi lebih lanjut](https://docs.conda.io/projects/conda-build/en/latest/resources/make-relocatable.html).

Blendertidak memerlukan penyesuaian RPATH, karena arsip aplikasi dibangun dengan mempertimbangkan hal ini. Untuk aplikasi yang membutuhkannya, Anda dapat menggunakan alat yang sama seperti yang dilakukan conda build: `patchelf` di Linux dan seterusnya`install_name_tool`. macOS

Selama pembuatan paket, skrip [build.sh](https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline/conda_recipes/blender-4.2/recipe/build.sh) atau [build\$1win.sh](https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline/conda_recipes/blender-4.2/recipe/build_win.sh) (dipanggil oleh`bld.bat`) berjalan untuk menginstal file ke dalam lingkungan yang disiapkan dengan dependensi paket. Skrip ini menyalin file instalasi, membuat symlink dari`$PREFIX/bin`, dan mengatur skrip aktivasi. AktifWindows, itu tidak membuat symlink melainkan menambahkan direktori Blender ke PATH dalam skrip aktivasi.

Kami menggunakan `bash` alih-alih `cmd.exe` file.bat untuk Windows bagian dari resep build conda, karena ini memberikan lebih banyak konsistensi di seluruh skrip build. Lihat rekomendasi [panduan pengembang Deadline Cloud](https://docs.aws.amazon.com/deadline-cloud/latest/developerguide/what-is-a-deadline-cloud-workload.html#workload-portability) tentang portabilitas beban kerja untuk tips penggunaan. `bash` Windows Jika Anda telah menginstal [git for Windows untuk](https://gitforwindows.org/) mengkloning repositori [deadline-cloud-samples](https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline/)git, Anda sudah memiliki akses ke. `bash` 

Dokumentasi [variabel lingkungan build conda](https://docs.conda.io/projects/conda-build/en/latest/user-guide/environment-variables.html) mencantumkan nilai yang tersedia untuk digunakan dalam skrip build. Nilai-nilai ini termasuk `$SRC_DIR` untuk data arsip sumber, `$PREFIX` untuk direktori instalasi, `$RECIPE_DIR` untuk mengakses file lain dari resep, `$PKG_NAME` dan `$PKG_VERSION` untuk nama paket dan versi, dan `$target_platform` untuk platform conda target. 

## Kirim pekerjaan paket Blender 4.2
<a name="s3-channel-build-blender"></a>

Anda dapat membuat paket conda Blender 4.2 Anda sendiri untuk merender pekerjaan, dengan mengunduh Blender arsip dan kemudian mengirimkan pekerjaan ke antrian pembuatan paket. Antrian mengirimkan pekerjaan ke armada terkait untuk membangun paket dan mengindeks ulang saluran conda.

[Instruksi ini menggunakan git dari shell yang kompatibel dengan bash untuk mendapatkan pekerjaan pembuatan paket OpenJD dan beberapa resep conda dari repositori sampel Deadline Cloud. GitHub](https://github.com/aws-deadline/deadline-cloud-samples) Anda juga memerlukan hal berikut:
+ Jika Anda menggunakanWindows, versi bash, git BASH, diinstal ketika Anda menginstal git.
+ Anda harus menginstal [Deadline Cloud CLI](https://github.com/aws-deadline/deadline-cloud).
+ Anda harus masuk ke [monitor Deadline Cloud](https://docs.aws.amazon.com/deadline-cloud/latest/userguide/working-with-deadline-monitor.html).

1. Buka GUI konfigurasi Deadline Cloud menggunakan perintah berikut dan atur farm default dan antrian ke antrian pembuatan paket Anda.

   ```
   deadline config gui
   ```

1. Gunakan perintah berikut untuk mengkloning repositori sampel GitHUb Deadline Cloud.

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

1. Ubah ke `conda_recipes` direktori di `deadline-cloud-samples` direktori.

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

1. Jalankan skrip yang disebut`submit-package-job`. Skrip memberikan instruksi untuk mengunduh Blender saat pertama kali Anda menjalankan skrip.

   ```
   ./submit-package-job blender-4.2/
   ```

1. Ikuti instruksi untuk mengunduhBlender. Ketika Anda memiliki arsip, jalankan `submit-package-job` skrip lagi.

   ```
   ./submit-package-job blender-4.2/
   ```

Setelah Anda mengirimkan pekerjaan, gunakan monitor Deadline Cloud untuk melihat kemajuan dan status pekerjaan saat dijalankan.

Kiri bawah monitor menunjukkan dua langkah pekerjaan, membangun paket dan kemudian mengindeks ulang. Kanan bawah menunjukkan langkah-langkah individu untuk setiap tugas. Dalam contoh ini, ada satu langkah untuk setiap tugas.

![\[Monitor Deadline Cloud menunjukkan kemajuan dan status pekerjaan membangun Blender paket.\]](http://docs.aws.amazon.com/id_id/deadline-cloud/latest/developerguide/images/Conda-Figure3.png)


Di kiri bawah monitor adalah dua langkah pekerjaan, membangun paket dan kemudian mengindeks ulang saluran conda. Di kanan bawah adalah tugas individu untuk setiap langkah. Dalam contoh ini hanya ada satu tugas untuk setiap langkah.

Ketika Anda mengklik kanan pada tugas untuk langkah pembuatan paket dan memilih **Lihat log**, monitor akan menampilkan daftar tindakan sesi yang menunjukkan bagaimana tugas dijadwalkan pada pekerja. Tindakannya adalah:
+ **Sinkronkan lampiran** - Tindakan ini menyalin lampiran pekerjaan input atau memasang sistem file virtual, tergantung pada pengaturan yang digunakan untuk sistem file lampiran pekerjaan.
+ **Luncurkan Conda** - Tindakan ini berasal dari lingkungan antrian yang ditambahkan secara default saat Anda membuat antrian. Pekerjaan tidak menentukan paket conda apa pun, sehingga selesai dengan cepat dan tidak membuat lingkungan virtual conda.
+ **Launch CondaBuild Env** — Tindakan ini menciptakan lingkungan virtual conda kustom yang mencakup perangkat lunak yang diperlukan untuk membangun paket conda dan mengindeks ulang saluran. Ini menginstal dari saluran [conda-forge](https://conda-forge.org/).
+ **Jalankan tugas** - Tindakan ini membangun Blender paket dan mengunggah hasilnya ke Amazon S3.

Saat tindakan berjalan, mereka mengirim log dalam format terstruktur ke Amazon CloudWatch. Saat pekerjaan selesai, pilih **Lihat log untuk semua tugas** guna melihat log tambahan tentang penyiapan dan penghancuran lingkungan tempat pekerjaan berjalan.

# Uji paket Anda dengan pekerjaan render Blender 4.2
<a name="s3-channel-submit-job"></a>

Setelah paket Blender 4.2 dibangun dan antrian produksi Anda dikonfigurasi untuk menggunakan saluran conda S3, Anda dapat mengirimkan pekerjaan untuk dirender dengan paket tersebut. Jika Anda tidak memiliki Blender adegan, unduh adegan Blender 3.5 - Cozy Kitchen dari halaman [file Blender demo](https://www.blender.org/download/demo-files).

GitHubRepositori sampel Deadline Cloud yang Anda unduh sebelumnya berisi contoh pekerjaan untuk merender Blender adegan menggunakan perintah berikut:

```
deadline bundle submit blender_render \
     -p CondaPackages=blender=4.2 \
     -p BlenderSceneFile=/path/to/downloaded/blender-3.5-splash.blend \
     -p Frames=1
```

Anda dapat menggunakan monitor Deadline Cloud untuk melacak kemajuan pekerjaan Anda:

1. Di monitor, pilih tugas untuk pekerjaan yang Anda kirimkan, lalu pilih opsi untuk melihat log.

1. Di sisi kanan tampilan log, pilih tindakan sesi **Launch Conda**.

Anda dapat melihat bahwa tindakan mencari Blender 4.2 di dua saluran conda yang dikonfigurasi untuk lingkungan antrian, dan menemukan paket di saluran S3.

# Buat resep conda build untuk Autodesk Maya
<a name="create-conda-recipe-maya"></a>

Anda dapat mengemas aplikasi komersial sebagai paket conda. Di [Create a conda build recipe for Blender](https://docs.aws.amazon.com/deadline-cloud/latest/developerguide/conda-package.html#create-conda-recipe-blender), Anda belajar cara mengemas aplikasi yang tersedia sebagai file arsip sederhana yang dapat dipindahkan dan di bawah persyaratan lisensi open source. Aplikasi komersial sering didistribusikan melalui installer dan mungkin memiliki sistem manajemen lisensi untuk bekerja dengan.

Daftar berikut dibangun di atas dasar-dasar yang tercakup dalam [Buat paket conda untuk aplikasi atau plugin](https://docs.aws.amazon.com/deadline-cloud/latest/developerguide/conda-package.html) dengan persyaratan yang umumnya terlibat dengan pengemasan aplikasi komersial. Detail dalam sub-peluru menggambarkan bagaimana Anda dapat menerapkan pedoman tersebut. Maya
+ Memahami hak lisensi dan pembatasan aplikasi. Anda mungkin perlu mengonfigurasi sistem manajemen lisensi. Jika aplikasi tidak menyertakan penegakan hukum, Anda perlu mengonfigurasi pertanian Anda sesuai dengan hak Anda.
  + Baca [FAQ Manfaat Autodesk Berlangganan tentang Hak Cloud](https://www.autodesk.com/support/technical/article/caas/sfdcarticles/sfdcarticles/Subscription-Benefits-FAQ-Cloud-Rights.html) untuk memahami hak cloud Maya yang mungkin berlaku untuk Anda. Konfigurasikan Deadline Cloud farm Anda seperlunya. 
  + Autodeskproduk bergantung pada file yang disebut`ProductInformation.pit`. Sebagian besar konfigurasi file ini memerlukan akses administrator ke sistem, yang tidak tersedia pada armada yang dikelola layanan. Fitur produk untuk klien tipis menyediakan cara yang dapat direlokasi untuk menangani hal ini. Lihat [Lisensi Klien Tipis untuk Maya dan MotionBuilder](https://www.autodesk.com/support/technical/article/caas/tsarticles/ts/2zqRBCuGDrcPZDzULJQ27p.html) untuk mempelajari lebih lanjut. 
+ Beberapa aplikasi bergantung pada pustaka yang tidak diinstal pada host pekerja armada yang dikelola layanan, sehingga paket harus menyediakannya. Ini bisa berada di dalam paket aplikasi secara langsung, atau ditempatkan dalam paket ketergantungan terpisah. 
  + Mayatergantung pada sejumlah perpustakaan seperti itu, termasuk freetype dan fontconfig. Ketika pustaka ini tersedia di manajer paket sistem, seperti di `dnf` for AL2023, Anda dapat menggunakannya sebagai sumber untuk aplikasi. Karena paket RPM ini tidak dibangun untuk dapat dipindahkan, Anda perlu menggunakan alat seperti `patchelf` untuk memastikan dependensi diselesaikan dalam awalan instalasi. Maya 
+ Instalasi mungkin memerlukan akses administrator. Karena armada yang dikelola layanan tidak menyediakan akses administrator, Anda perlu melakukan instalasi pada sistem dengan akses ini. Kemudian, buat arsip file yang diperlukan untuk pekerjaan pembuatan paket yang akan digunakan. 
  + WindowsPenginstal untuk Maya memerlukan akses administrator, jadi membangun paket conda untuk itu melibatkan proses manual untuk terlebih dahulu membuat arsip semacam itu. 
+ Konfigurasi aplikasi, termasuk bagaimana plugin mendaftar dengannya, dapat didefinisikan di sistem operasi atau tingkat pengguna. Ketika ditempatkan di lingkungan virtual conda, plugin memerlukan cara untuk mengintegrasikan dengan aplikasi dengan cara yang terkandung dan tidak pernah menulis file atau data lain di luar awalan lingkungan virtual. Kami sarankan Anda mengatur ini dari paket conda aplikasi. 
  + MayaPaket sampel mendefinisikan variabel lingkungan `MAYA_NO_HOME=1` untuk mengisolasinya dari konfigurasi tingkat pengguna, dan menambahkan jalur pencarian modul `MAYA_MODULE_PATH` sehingga plugin yang dikemas secara terpisah dapat diintegrasikan dari dalam lingkungan virtual. MtoAPaket sampel menempatkan file.mod di salah satu direktori ini untuk dimuat saat Maya startup. 

**Tulis metadata resep**

1. Buka direktori GitHub [ deadline-cloud-samples/conda\$1recipes/maya-2025 di browser Anda atau di editor](https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline/conda_recipes/maya-2025) teks di klon lokal repositori Anda.

   File tersebut `deadline-cloud.yaml` menjelaskan platform build conda untuk membangun paket dan dari mana mendapatkan aplikasi. Sampel resep menentukan keduanya Linux dan Windows build, dan itu hanya dikirimkan Linux secara default.

1. Unduh Maya installer lengkap dari Autodesk login Anda. UntukLinux, paket build dapat menggunakan arsip secara langsung, jadi letakkan langsung ke `conda_recipes/archive_files` direktori. UntukWindows, penginstal memerlukan akses administrator untuk dijalankan. Anda harus menjalankan installer dan mengumpulkan file yang diperlukan ke dalam arsip untuk resep paket yang ingin Anda gunakan. File [README.md](https://github.com/aws-deadline/deadline-cloud-samples/blob/mainline/conda_recipes/maya-2025/README.md) dalam resep mendokumentasikan prosedur yang dapat diulang untuk membuat artefak ini. Prosedur ini menggunakan instans Amazon EC2 yang baru diluncurkan untuk menyediakan lingkungan yang bersih untuk instalasi yang kemudian dapat Anda hentikan setelah menyimpan hasilnya. Untuk mengemas aplikasi lain yang memerlukan akses administrator, Anda dapat mengikuti prosedur serupa setelah Anda menentukan kumpulan file yang dibutuhkan aplikasi.

1. Buka file [resep/recipe.yaml dan resep/meta.yaml](https://github.com/aws-deadline/deadline-cloud-samples/blob/mainline/conda_recipes/maya-2025/recipe/recipe.yaml) [untuk meninjau atau mengedit pengaturan untuk rattler-build](https://github.com/aws-deadline/deadline-cloud-samples/blob/mainline/conda_recipes/maya-2025/recipe/meta.yaml) dan untuk conda-build. Anda dapat mengatur nama paket dan versi untuk aplikasi yang Anda kemas.

   Bagian **sumber** mencakup referensi ke arsip, termasuk hash sha256 dari file. Setiap kali Anda mengubah file-file ini, misalnya ke versi baru, Anda perlu menghitung dan memperbarui nilai-nilai ini.

   Bagian **build** terutama berisi opsi untuk mematikan opsi relokasi biner default, karena mekanisme otomatis tidak akan berfungsi dengan benar untuk pustaka dan direktori biner tertentu yang digunakan paket.

   Terakhir, bagian **about** memungkinkan Anda memasukkan beberapa metadata tentang aplikasi yang dapat digunakan saat menjelajah atau memproses konten saluran conda.

**Tulis skrip pembuatan paket**

1. Skrip pembuatan paket dalam Maya contoh resep conda build menyertakan komentar yang menjelaskan langkah-langkah yang dilakukan skrip. Baca komentar dan perintah untuk menemukan yang berikut:
   + Bagaimana resep menangani file RPM dari Autodesk
   + Perubahan yang diterapkan resep untuk membuat instalasi dapat dipindahkan ke lingkungan virtual conda tempat resep diinstal
   + Bagaimana resep menetapkan variabel utilitas seperti `MAYA_LOCATION` dan `MAYA_VERSION` yang dapat digunakan perangkat lunak Anda untuk memahami Maya apa yang sedang berjalan.

1. UntukLinux, buka file [recipe/build.sh](https://github.com/aws-deadline/deadline-cloud-samples/blob/mainline/conda_recipes/maya-2025/recipe/build.sh) untuk meninjau atau mengedit skrip pembuatan paket. 

   UntukWindows, buka file [recipe/build\$1win.sh](https://github.com/aws-deadline/deadline-cloud-samples/blob/mainline/conda_recipes/maya-2025/recipe/build_win.sh) untuk meninjau atau mengedit skrip pembuatan paket.

**Kirim pekerjaan yang membangun paket Maya**

1. Masukkan `conda_recipes` direktori di klon GitHub [deadline-cloud-samples](https://github.com/aws-deadline/deadline-cloud-samples)repositori Anda.

1. Pastikan bahwa Deadline Cloud farm Anda dikonfigurasi untuk Deadline Cloud CLI Anda. Jika Anda mengikuti langkah-langkah untuk [Membuat saluran conda menggunakan Amazon](https://docs.aws.amazon.com/deadline-cloud/latest/developerguide/configure-jobs-s3-channel.html) S3 maka peternakan Anda harus dikonfigurasi untuk CLI Anda. 

1. Jalankan perintah berikut untuk mengirimkan pekerjaan yang membangun keduanya Linux dan Windows paket.

   ` ./submit-package-job maya-2025 --all-platforms`

# Buat resep build conda untuk plugin Autodesk Maya to Arnold (MtoA)
<a name="create-conda-recipe-mtoa-plugin"></a>

Anda dapat mengemas plugin untuk aplikasi komersial sebagai paket conda. Plugin adalah pustaka yang dimuat secara dinamis yang menggunakan antarmuka biner aplikasi (ABI) yang disediakan oleh aplikasi untuk memperluas fungsionalitas aplikasi itu. Maya to Arnold (MtoA)Plugin menambahkan Arnold renderer sebagai opsi di dalamnya. Maya
+ Resep pembuatan MtoA sampel bergantung pada **Maya**paket dan menggunakan `==` batasan untuk versi tersebut.
+ MayaPaket mengkonfigurasi jalur Maya modul di lingkungan virtual,`$PREFIX/usr/autodesk/maya$MAYA_VERSION/modules`, untuk plugin untuk menempatkan `.mod` file di. Resep build MtoA sampel membuat file `mtoa.mod` di direktori ini.

**Tulis metadata resep**

1. Buka direktori GitHub [ deadline-cloud-samples/conda\$1recipes/maya-mtoa-2025](https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline/conda_recipes/maya-mtoa-2025) di browser Anda atau di editor teks di klon lokal repositori Anda.

   Resepnya mengikuti pola yang sama dengan resep build Maya conda, dan menggunakan arsip sumber yang sama untuk menginstal plugin.

1. Buka file [resep/recipe.yaml dan resep/meta.yaml](https://github.com/aws-deadline/deadline-cloud-samples/blob/mainline/conda_recipes/maya-mtoa-2025/recipe/recipe.yaml) [untuk meninjau atau mengedit pengaturan untuk rattler-build](https://github.com/aws-deadline/deadline-cloud-samples/blob/mainline/conda_recipes/maya-mtoa-2025/recipe/meta.yaml) dan untuk conda-build. File-file ini menentukan ketergantungan `maya` selama pembuatan paket dan saat membuat lingkungan virtual untuk menjalankan plugin.

**Tulis skrip pembuatan paket**
+ Skrip pembuatan paket dalam MtoA contoh resep conda build menyertakan komentar yang menjelaskan langkah-langkah yang dilakukan skrip. Baca komentar dan perintah untuk mempelajari bagaimana resep menginstal MtoA dan membuat file `mtoa.mod` di direktori yang ditentukan oleh Maya paket.

  Arnolddan Maya menggunakan teknologi lisensi yang sama, sehingga resep pembuatan Maya conda sudah menyertakan informasi yang dibutuhkan oleh. Arnold

  Perbedaan antara skrip Windows build Linux dan build mirip dengan perbedaan resep Maya conda build.

**Kirim pekerjaan yang membangun paket Maya MtoA plugin**

1. Masukkan `conda_recipes` direktori di klon GitHub [deadline-cloud-samples](https://github.com/aws-deadline/deadline-cloud-samples)repositori Anda.

1. Pastikan bahwa Anda telah membangun paket untuk aplikasi Maya host dari bagian sebelumnya.

1. Pastikan bahwa Deadline Cloud farm Anda dikonfigurasi untuk Deadline Cloud CLI Anda. Jika Anda mengikuti langkah-langkah untuk [Membuat saluran conda menggunakan Amazon](https://docs.aws.amazon.com/deadline-cloud/latest/developerguide/configure-jobs-s3-channel.html) S3 maka peternakan Anda harus dikonfigurasi untuk CLI Anda. 

1. Jalankan perintah berikut untuk mengirimkan pekerjaan yang membangun keduanya Linux dan Windows paket.

   ` ./submit-package-job maya-mtoa-2025 --all-platforms`

# Uji paket Anda dengan pekerjaan Maya render
<a name="submit-render-maya-mtoa"></a>

Setelah Anda memiliki Maya 2025 dan MtoA paket yang dibuat, Anda dapat mengirimkan pekerjaan untuk dirender dengan paket. [Meja putar dengan](https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline/job_bundles/turntable_with_maya_arnold) contoh bundel Maya/Arnold pekerjaan membuat animasi dengan Maya dan. Arnold Sampel ini juga digunakan FFmpeg untuk menyandikan video. Anda dapat menambahkan saluran conda-forge ke daftar default `CondaChannels` di lingkungan antrian conda Anda untuk menyediakan sumber paket. `ffmpeg`

Dari `job_bundles` direktori di git clone Anda [deadline-cloud-samples](https://github.com/aws-deadline/deadline-cloud-samples), jalankan perintah berikut.

```
deadline bundle submit turntable_with_maya_arnold
```

Anda dapat menggunakan monitor Deadline Cloud untuk melacak kemajuan pekerjaan Anda:

1. Di monitor, pilih tugas untuk pekerjaan yang Anda kirimkan, lalu pilih opsi untuk melihat log.

1. Di sisi kanan tampilan log, pilih tindakan sesi **Launch Conda**.

Anda dapat melihat bahwa tindakan dicari maya dan maya-mtoa di saluran conda dikonfigurasi untuk lingkungan antrian, dan menemukan paket di saluran S3.

# Mengotomatiskan pembuatan paket dengan Deadline Cloud
<a name="automate-package-builds"></a>

Untuk CI/CD alur kerja atau saat Anda perlu membuat paket untuk beberapa sistem operasi, Anda dapat membuat antrean pembuatan paket Deadline Cloud. Jadwal antrian membangun pekerjaan di armada Anda, yang membuat paket dan mempublikasikannya ke saluran conda Amazon Simple Storage Service (Amazon S3). Ini menyederhanakan pemeliharaan pembuatan paket berkelanjutan untuk rilis perangkat lunak di semua konfigurasi yang Anda butuhkan.

Anda dapat membuat antrean pembuatan paket menggunakan templat AWS CloudFormation (CloudFormation), atau secara manual dari konsol Deadline Cloud. CloudFormation Template menyebarkan pertanian lengkap dengan antrian produksi dan antrian pembuatan paket yang sudah dikonfigurasi. Membuat antrian dari konsol memberi Anda kontrol lebih besar atas pengaturan individual.

## Buat antrian pembuatan paket dengan CloudFormation
<a name="s3-channel-create-queue-cfn"></a>

Anda dapat menggunakan CloudFormation template untuk membuat Deadline Cloud farm yang menyertakan antrian pembuatan paket. Template mengonfigurasi antrian produksi dan antrian pembuatan paket dengan saluran conda Amazon S3 pribadi.

Sebelum Anda menerapkan template, buat bucket Amazon S3 untuk menyimpan lampiran pekerjaan dan saluran conda Anda. Anda dapat membuat ember dari konsol [Amazon S3](https://console.aws.amazon.com/s3/). Anda memerlukan nama bucket saat menerapkan template.

**Untuk menyebarkan template CloudFormation**

1. Unduh [deadline-cloud-starter-farmtemplate -template.yaml](https://github.com/aws-deadline/deadline-cloud-samples/raw/mainline/cloudformation/farm_templates/starter_farm/deadline-cloud-starter-farm-template.yaml) dari repositori sampel [Deadline](https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline/cloudformation/farm_templates/starter_farm) Cloud pada. GitHub

1. Dari [CloudFormation konsol](https://console.aws.amazon.com/cloudformation/), pilih **Buat Tumpukan**, lalu **Dengan sumber daya baru (standar)**.

1. Pilih opsi untuk mengunggah file templat, lalu unggah `deadline-cloud-starter-farm-template.yaml` file tersebut.

1. Masukkan nama untuk tumpukan, seperti**StarterFarm**, dan berikan nama bucket Amazon S3 untuk lampiran pekerjaan dan saluran conda.

1. Ikuti langkah-langkah CloudFormation konsol untuk menyelesaikan pembuatan tumpukan.

Untuk informasi selengkapnya tentang parameter template dan opsi penyesuaian, lihat [README starter farm](https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline/cloudformation/farm_templates/starter_farm) di repositori sampel Deadline Cloud pada. GitHub

## Buat antrian pembuatan paket dari konsol
<a name="s3-channel-create-queue"></a>

Ikuti petunjuk di [Buat antrean](https://docs.aws.amazon.com/deadline-cloud/latest/userguide/create-queue.html) di *Panduan Pengguna Cloud Deadline*. Lakukan perubahan berikut:
+ Pada langkah 5, pilih bucket Amazon S3 yang ada. Tentukan nama folder root seperti **DeadlineCloudPackageBuild** agar artefak build tetap terpisah dari lampiran Deadline Cloud normal Anda.
+ Pada langkah 6, Anda dapat mengaitkan antrian pembuatan paket dengan armada yang sudah ada, atau Anda dapat membuat armada yang sama sekali baru jika armada Anda saat ini tidak cocok.
+ Pada langkah 9, buat peran layanan baru untuk antrian pembuatan paket Anda. Anda akan memodifikasi izin untuk memberikan antrian izin yang diperlukan untuk mengunggah paket dan mengindeks ulang saluran conda.

### Konfigurasikan izin antrian pembuatan paket
<a name="package-building-queue-permissions"></a>

Untuk mengizinkan antrian pembuatan paket mengakses `/Conda` awalan di bucket Amazon S3 antrean, Anda harus mengubah peran antrian untuk memberikan akses. read/write Peran tersebut memerlukan izin berikut agar pekerjaan pembuatan paket dapat mengunggah paket baru dan mengindeks ulang saluran.
+ `s3:GetObject`
+ `s3:PutObject`
+ `s3:ListBucket`
+ `s3:GetBucketLocation`
+ `s3:DeleteObject`

1. Buka konsol Deadline Cloud dan arahkan ke halaman detail antrian untuk antrean pembuatan paket.

1. Pilih peran layanan antrian, lalu pilih **Edit antrian**.

1. Gulir ke bagian **Peran layanan antrian**, lalu pilih **Lihat peran ini di konsol IAM**.

1. Dari daftar kebijakan izin, pilih antrian **AmazonDeadlineCloudQueuePolicy**untuk Anda.

1. Dari tab **Izin**, pilih **Edit**.

1. Tambahkan bagian baru ke peran layanan antrian seperti berikut ini. Ganti *amzn-s3-demo-bucket* dan *111122223333* dengan ember dan akun Anda sendiri.

   ```
   {
      "Effect": "Allow",
      "Sid": "CustomCondaChannelReadWrite",
      "Action": [
       "s3:GetObject",
       "s3:PutObject",
       "s3:DeleteObject",
       "s3:ListBucket",
       "s3:GetBucketLocation"
      ],
      "Resource": [
       "arn:aws:s3:::amzn-s3-demo-bucket",
       "arn:aws:s3:::amzn-s3-demo-bucket/Conda/*"
      ],
      "Condition": {
       "StringEquals": {
        "aws:ResourceAccount": "111122223333"
       }
      }
     },
   ```

## Kirim pekerjaan pembuatan paket
<a name="automate-submit-package-job"></a>

Setelah membuat antrean pembuatan paket dan mengonfigurasi izin antrian, Anda dapat mengirimkan pekerjaan untuk membangun paket conda. `submit-package-job`Skrip di repositori [sampel Deadline Cloud](https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline/conda_recipes#readme) saat GitHub mengirimkan pekerjaan build untuk resep conda.

Anda membutuhkan yang berikut ini:
+ The [Deadline Cloud CLI](https://github.com/aws-deadline/deadline-cloud) diinstal pada workstation Anda.
+ Sesi login [AWS Deadline Cloud monitor (Deadline Cloud monitor)](https://docs.aws.amazon.com/deadline-cloud/latest/userguide/working-with-deadline-monitor.html) yang aktif.
+ Klon dari repositori [sampel Deadline Cloud](https://github.com/aws-deadline/deadline-cloud-samples).

**Untuk mengirimkan pekerjaan pembuatan paket**

1. Buka GUI konfigurasi Deadline Cloud dan atur farm default dan antrean ke antrian pembuatan paket Anda.

   ```
   deadline config gui
   ```

1. Ubah ke `conda_recipes` direktori di repositori sampel.

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

1. Jalankan `submit-package-job` skrip dengan direktori resep. Contoh berikut membangun resep Blender 4.5.

   ```
   ./submit-package-job blender-4.5/
   ```

   Jika resep memerlukan arsip sumber yang belum Anda unduh, skrip menyediakan instruksi unduhan. Unduh arsip dan jalankan skrip lagi.

Setelah Anda mengirimkan pekerjaan, gunakan monitor Deadline Cloud untuk melihat kemajuan dan status pekerjaan.

![\[Monitor Deadline Cloud menunjukkan kemajuan dan status pekerjaan membangun paket conda.\]](http://docs.aws.amazon.com/id_id/deadline-cloud/latest/developerguide/images/Conda-Figure3.png)


Monitor menunjukkan dua langkah pekerjaan: membangun paket dan kemudian mengindeks ulang saluran conda. Ketika Anda mengklik kanan pada tugas untuk langkah pembuatan paket dan memilih **Lihat log**, monitor akan menampilkan tindakan sesi:
+ **Sinkronkan lampiran** - Menyalin lampiran pekerjaan input atau memasang sistem file virtual.
+ **Luncurkan Conda** - Tindakan lingkungan antrian. Pekerjaan build tidak menentukan paket conda, jadi tindakan ini selesai dengan cepat.
+ **Luncurkan CondaBuild Env** - Menciptakan lingkungan virtual conda dengan perangkat lunak yang diperlukan untuk membangun paket conda dan mengindeks ulang saluran.
+ **Jalankan tugas** - Membangun paket dan mengunggah hasilnya ke Amazon S3.

Saat tindakan berjalan, mereka mengirim log ke Amazon CloudWatch (CloudWatch). Saat pekerjaan selesai, pilih **Lihat log untuk semua tugas guna** melihat log tambahan tentang penyiapan dan pembongkaran lingkungan.