Menggunakan Chef Deployment Hooks - AWS OpsWorks

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

Menggunakan Chef Deployment Hooks

penting

Bagian AWS OpsWorks Stacks layanan mencapai akhir masa pakai pada 26 Mei 2024 dan telah dinonaktifkan untuk pelanggan baru dan yang sudah ada. Kami sangat menyarankan pelanggan untuk memindahkan beban kerja mereka ke solusi lain sesegera mungkin. Jika Anda memiliki pertanyaan tentang migrasi, hubungi AWS Support Tim di AWS Re: posting atau melalui AWS Dukungan Premium.

Anda dapat menyesuaikan penerapan dengan menerapkan resep khusus untuk melakukan tugas yang diperlukan dan menetapkannya ke acara Deploy layer yang sesuai. Pendekatan alternatif dan terkadang lebih sederhana—terutama jika Anda tidak perlu mengimplementasikan buku masak untuk tujuan lain—adalah dengan menggunakan kait penerapan Chef untuk menjalankan kode kustomisasi Anda. Selain itu, resep Deploy khusus dijalankan setelah penerapan dilakukan oleh resep bawaan. Deployment hook memungkinkan Anda untuk berinteraksi selama penerapan, misalnya, setelah kode aplikasi diperiksa keluar dari repositori tetapi sebelum Apache dimulai ulang.

Chef menyebarkan aplikasi dalam empat tahap:

  • Checkout —Mengunduh file dari repositori

  • Migrasi —Menjalankan migrasi, seperti yang diperlukan

  • Symlink —Membuat symlink

  • Mulai ulang —Mulai ulang aplikasi

Kait penyebaran koki menyediakan cara sederhana untuk menyesuaikan penerapan dengan menjalankan aplikasi Ruby yang disediakan pengguna secara opsional setelah setiap tahap selesai. Untuk menggunakan kait penerapan, terapkan satu atau beberapa aplikasi Ruby dan letakkan di direktori aplikasi Anda. /deploy (Jika aplikasi Anda tidak memiliki /deploy direktori, buat direktori di APP_ROOT level tersebut.) Aplikasi harus memiliki salah satu nama berikut, yang menentukan kapan dijalankan.

  • before_migrate.rbberjalan setelah tahap Checkout selesai tetapi sebelum Migrasi.

  • before_symlink.rbberjalan setelah tahap Migrasi selesai tetapi sebelum Symlink.

  • before_restart.rbberjalan setelah tahap Symlink selesai tetapi sebelum Restart.

  • after_restart.rbberjalan setelah tahap Restart selesai.

Chef deployment hooks dapat mengakses objek node dengan menggunakan sintaks node standar, seperti resep. Deployment hooks juga dapat mengakses nilai variabel lingkungan aplikasi apa pun yang telah Anda tentukan. Namun, Anda harus menggunakan new_resource.environment["VARIABLE_NAME"] untuk mengakses nilai variabel alih-alihENV["VARIABLE_NAME"].