Langkah 15: Perbarui Buku Masak untuk Menggunakan Logika Bersyarat - AWS OpsWorks

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

Langkah 15: Perbarui Buku Masak untuk Menggunakan Logika Bersyarat

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.

Sekarang perbarui buku masak Anda dengan menambahkan resep yang menggunakan logika bersyarat, teknik yang menjalankan kode hanya jika kondisi tertentu terpenuhi. Untuk informasi lebih lanjut, buka Pernyataan if dan Pernyataan kasus.

Resep ini melakukan dua hal berdasarkan konten kantong data: menampilkan pesan di log yang mengidentifikasi sistem operasi tempat instance berjalan dan, hanya jika sistem operasinya Linux, menginstal paket dengan menggunakan manajer paket yang benar untuk distribusi Linux yang diberikan. Paket ini bernama pohon; itu adalah aplikasi sederhana untuk memvisualisasikan daftar direktori.

Untuk memperbarui buku masak pada instance dan menjalankan resep baru
  1. Di workstation lokal Anda, di recipes subdirektori diopsworks_cookbook_demo directory, buat file bernama conditional_logic.rb yang berisi kode berikut:

    instance = search("aws_opsworks_instance").first os = instance["os"] if os == "Red Hat Enterprise Linux 7" Chef::Log.info("********** Operating system is Red Hat Enterprise Linux. **********") elsif os == "Ubuntu 14.04 LTS" || os == "Ubuntu 16.04 LTS" || os == "Ubuntu 18.04 LTS" Chef::Log.info("********** Operating system is Ubuntu. **********") elsif os == "Microsoft Windows Server 2012 R2 Base" Chef::Log.info("********** Operating system is Windows. **********") elsif os == "Amazon Linux 2015.03" || os == "Amazon Linux 2015.09" || os == "Amazon Linux 2016.03" || os == "Amazon Linux 2016.09" || os == "Amazon Linux 2017.03" || os == "Amazon Linux 2017.09" || os == "Amazon Linux 2018.03" || os == "Amazon Linux 2" Chef::Log.info("********** Operating system is Amazon Linux. **********") elsif os == "CentOS Linux 7" Chef::Log.info("********** Operating system is CentOS 7. **********") else Chef::Log.info("********** Cannot determine operating system. **********") end case os when "Ubuntu 14.04 LTS", "Ubuntu 16.04 LTS", "Ubuntu 18.04 LTS" apt_package "Install a package with apt-get" do package_name "tree" end when "Amazon Linux 2015.03", "Amazon Linux 2015.09", "Amazon Linux 2016.03", "Amazon Linux 2016.09", "Amazon Linux 2017.03", "Amazon Linux 2017.09", "Amazon Linux 2018.03", "Amazon Linux 2", "Red Hat Enterprise Linux 7", "CentOS Linux 7" yum_package "Install a package with yum" do package_name "tree" end else Chef::Log.info("********** Cannot determine operating system type, or operating system is not Linux. Package not installed. **********") end
  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::conditional_logic.

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:59:05+00:00] INFO: ********** Operating system is Amazon Linux. **********

    Karena sistem operasi instans adalah Amazon Linux 2016.09, hanya entri sebelumnya (dari lima entri yang mungkin dalam kode resep) yang akan ditampilkan di log.

  3. Jika sistem operasinya Linux, resepnya menginstal paket pohon. Untuk melihat visualisasi isi direktori, ketik tree prompt perintah dari direktori yang diinginkan atau dengan jalur direktori yang diinginkan (misalnya,tree /var/chef/runs).

Pada langkah berikutnya, Anda akan memperbarui buku masak untuk menggunakan fungsionalitas dari buku masak eksternal yang disediakan oleh komunitas Chef.