Langkah 14: Perbarui Cookbook untuk Menggunakan Iterasi - AWS OpsWorks

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

AWS OpsWorks Stacks Layanan ini 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:Post atau melalui AWS Dukungan Premium.

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
  1. Di workstation lokal Anda, di recipes subdirektori di opsworks_cookbook_demo direktori, buat file bernama iteration_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']}\"]' **********")
  2. Di terminal atau command prompt, gunakan tar perintah buat versi baru opsworks_cookbook_demo.tar.gz file, yang berisi opsworks_cookbook_demo direktori dan isinya yang diperbarui.

  3. Unggah opsworks_cookbook_demo.tar.gz file yang diperbarui ke bucket S3 Anda.

  4. 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, ketikopsworks_cookbook_demo::iteration_demo.

Untuk menguji resepnya
  1. Dengan perintah Running execute_recipes halaman ditampilkan dari prosedur sebelumnya, untuk cookbooks-demo1, untuk Log, pilih show. Halaman log execute_recipes ditampilkan.

  2. 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/opsworks-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, urlusername,password,ssh_key,, danrevision; nilainya juga ditampilkan.

Pada langkah berikutnya, Anda akan memperbarui buku masak untuk menjalankan kode resep hanya jika kondisi tertentu terpenuhi.