Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Langkah 14: Perbarui Cookbook untuk Menggunakan Iterasi
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
Perbarui buku masak Anda dengan menambahkan resep yang menggunakan iterasi, teknik yang mengulangi kode resep beberapa kali. Resep ini menampilkan pesan di log untuk item tas data yang berisi beberapa konten.
Untuk memperbarui buku masak pada instance dan menjalankan resep baru
-
Di workstation lokal Anda, di
recipes
subdirektori diopsworks_cookbook_demo
direktori, buat file bernamaiteration_demo.rb
yang berisi kode berikut:stack = search("aws_opsworks_stack").first Chef::Log.info("********** Content of 'custom_cookbooks_source' **********") stack["custom_cookbooks_source"].each do |content| Chef::Log.info("********** '#{content}' **********") end
catatan
Menulis kode resep sebelumnya lebih pendek, lebih fleksibel, dan kurang rawan kesalahan daripada menulis kode resep berikut yang tidak menggunakan iterasi:
stack = search("aws_opsworks_stack").first Chef::Log.info("********** Content of 'custom_cookbooks_source' **********") Chef::Log::info("********** '[\"type\", \"#{stack['custom_cookbooks_source']['type']}\"]' **********") Chef::Log::info("********** '[\"url\", \"#{stack['custom_cookbooks_source']['url']}\"]' **********") Chef::Log::info("********** '[\"username\", \"#{stack['custom_cookbooks_source']['username']}\"]' **********") Chef::Log::info("********** '[\"password\", \"#{stack['custom_cookbooks_source']['password']}\"]' **********") Chef::Log::info("********** '[\"ssh_key\", \"#{stack['custom_cookbooks_source']['ssh_key']}\"]' **********") Chef::Log::info("********** '[\"revision\", \"#{stack['custom_cookbooks_source']['revision']}\"]' **********")
-
Di terminal atau command prompt, gunakan tar perintah buat versi baru
opsworks_cookbook_demo.tar.gz
file, yang berisiopsworks_cookbook_demo
direktori dan isinya yang diperbarui. -
Unggah
opsworks_cookbook_demo.tar.gz
file yang diperbarui ke bucket S3 Anda. -
Ikuti prosedur Langkah 5: Perbarui Buku Masak pada Instance dan Jalankan Resepnya untuk memperbarui buku masak pada instance dan menjalankan resepnya. Dalam prosedur “Menjalankan resep”, agar Resep dijalankan, ketik
opsworks_cookbook_demo::iteration_demo
.
Untuk menguji resepnya
-
Dengan perintah Running execute_recipes halaman ditampilkan dari prosedur sebelumnya, untuk cookbooks-demo1, untuk Log, pilih show. Halaman log execute_recipes ditampilkan.
-
Gulir ke bawah melalui log dan temukan entri yang terlihat mirip dengan yang berikut ini:
[2015-11-16T19:56:56+00:00] INFO: ********** Content of 'custom_cookbooks_source' ********** [2015-11-16T19:56:56+00:00] INFO: ********** '["type", "s3"]' ********** [2015-11-16T19:56:56+00:00] INFO: ********** '["url", "https://s3.amazonaws.com/amzn-s3-demo-bucket/opsworks_cookbook_demo.tar.gz"]' ********** [2015-11-16T19:56:56+00:00] INFO: ********** '["username", "
secret-key-value
"]' ********** [2015-11-16T19:56:56+00:00] INFO: ********** '["password", "secret-access-key-value
"]' ********** [2015-11-16T19:56:56+00:00] INFO: ********** '["ssh_key", nil]' ********** [2015-11-16T19:56:56+00:00] INFO: ********** '["revision", nil]' **********Resep ini menampilkan pesan di log untuk item tas data yang berisi beberapa konten. Item tas data ada di tas
aws_opsworks_stack
data. Item tas data memiliki konten bernamacustom_cookbooks_source
. Di dalam konten ini ada enam konten bernamatype
,url
username
,password
,ssh_key
,, danrevision
; nilainya juga ditampilkan.
Pada langkah berikutnya, Anda akan memperbarui buku masak untuk menjalankan kode resep hanya jika kondisi tertentu terpenuhi.