View a markdown version of this page

Publikasikan paket ke saluran conda Amazon S3 - Batas Waktu Cloud

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

Publikasikan paket ke saluran conda Amazon S3

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 publishPerintah 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 publishPerintah 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 di AWS Command Line Interface ()AWS CLI Panduan Pengguna.

Prasyarat

Sebelum Anda mempublikasikan paket ke Amazon S3, lengkapi prasyarat berikut:

  • pixi dan rattler-build - Instal pixi dari pixi.sh, lalu instal. rattler-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.

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

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.

Contoh berikut menerbitkan 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.

Untuk mempublikasikan paket ke saluran Amazon S3
  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. 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/DefaultAwalan 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, 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

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

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

    pixi run blender --version

Membersihkan

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

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.

Membangun paket untuk platform lain

rattler-build publishPerintah 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.

  • (Advanced) Gunakan kompilasi silang untuk membangun paket untuk platform yang berbeda dari workstation Anda. Untuk informasi selengkapnya, lihat Cross-compilation dalam dokumentasi rattler-build.

Langkah selanjutnya

Setelah memublikasikan paket ke saluran conda Amazon S3, konfigurasikan antrian Deadline Cloud Anda untuk menggunakan saluran: