

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

# Membangun dan menguji 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.

**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.

**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 \
       --build-number=+1
   ```

   Pada Windows (cmd), jalankan perintah berikut.

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

   `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.

**Tentang nomor build**  
`--build-number=+1`Opsi ini secara otomatis memilih nomor build berikutnya berdasarkan apa yang sudah ada di saluran tujuan. Praktik terbaik adalah tidak pernah menimpa paket di saluran. Selalu buat ke nomor build baru jika paket tersebut memiliki nama file yang sama. Menggunakan `--build-number=+1` mencapai ini ketika Anda membangun ke saluran produksi atau saluran pementasan yang mencerminkan produksi.  
Jika Anda ingin mengontrol nomor build secara langsung, Anda dapat mengaturnya dengan nilai tertentu seperti`--build-number=7`. Jika Anda menghilangkan opsi, `rattler-build` gunakan nomor build yang ditentukan dalam `recipe.yaml` file.

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
   ```

   [https://pixi.sh/latest/reference/cli/pixi/run/](https://pixi.sh/latest/reference/cli/pixi/run/)Perintah mengaktifkan lingkungan conda untuk direktori proyek dan menjalankan perintah yang ditentukan di dalamnya. Lingkungan tetap ada di direktori proyek, sehingga Anda dapat menggunakan `pixi run` perintah yang sama dari terminal lain.

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

## Menghapus paket dari saluran
<a name="build-test-locally-remove-packages"></a>

Hindari menghapus paket dari saluran yang Anda gunakan untuk produksi, karena lockfiles mereferensikan paket tertentu dengan hash. Menghapus paket mencegah pembuatan ulang lingkungan dari file kunci tersebut. Untuk saluran pengembangan dan pengujian, Anda dapat menghapus paket tertentu dengan menghapus `.conda` file dari direktori saluran dan kemudian mengindeks ulang saluran. Pertama, instal`rattler-index`.

```
pixi global install rattler-index
```

Kemudian hapus file paket dan indeks ulang saluran.

LinuxAktif danmacOS, jalankan perintah berikut.

```
rm $HOME/my-conda-channel/linux-64/blender-4.5.0-hb0f4dca_1.conda
rattler-index fs $HOME/my-conda-channel
```

Pada Windows (cmd), jalankan perintah berikut.

```
del %USERPROFILE%\my-conda-channel\win-64\blender-4.5.0-hb0f4dca_1.conda
rattler-index fs %USERPROFILE%\my-conda-channel
```

File Package disimpan dalam subdirektori khusus platform seperti,, atau. `linux-64` `win-64` `osx-arm64` Buat daftar isi subdirektori ini untuk menemukan nama file yang tepat dari paket yang ingin Anda hapus.

## 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
   ```