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
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
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
-
Di workstation lokal Anda, di
recipes
subdirektori diopsworks_cookbook_demo directory
, buat file bernamaconditional_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
-
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::conditional_logic
.
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: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.
-
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.