View a markdown version of this page

Membangun dan menguji paket secara lokal - Batas Waktu Cloud

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

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 publishPerintah 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 pada. GitHub Anda dapat mengganti resep yang berbeda dari repositori sampel atau menggunakan resep Anda sendiri.

Prasyarat

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.

  • rattler-build — Alat pembuatan paket yang digunakan oleh resep Conda Deadline Cloud. Setelah Anda menginstal pixi, jalankan perintah berikut untuk menginstalrattler-build.

    pixi global install rattler-build
  • git — Diperlukan untuk mengkloning repositori sampel. OnWindows, git for Windows juga menyediakan bash shell, yang diperlukan oleh beberapa resep Windows sampel.

Membangun dan menerbitkan paket ke saluran lokal

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
  2. Ubah ke direktori conda_recipes.

    cd deadline-cloud-samples/conda_recipes
  3. 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 publishPerintah 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, tambahkan -c conda-forge ke perintah.

Tentang nomor build

--build-number=+1Opsi 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 selengkapnyarattler-build publish, lihat dokumentasi publikasi rattler-build.

Membangun debugging

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 di dokumentasi rattler-build.

Menguji paket

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
  2. Tambahkan paket ke proyek.

    pixi add blender=4.5
  3. Verifikasi bahwa paket berfungsi dengan benar.

    pixi run blender --version

    pixi runPerintah 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.

Menghapus paket dari saluran

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, instalrattler-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

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
  2. 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
  3. (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