คำถามติดแท็ก infrastructure-as-code

2
“ โครงสร้างพื้นฐานเป็นรหัส” คืออะไร?
วลี "โครงสร้างพื้นฐานเป็นรหัส" ถูกกล่าวถึงหลายครั้งในช่วงสองสัปดาห์ที่ผ่านมาในบริบทที่แตกต่างกัน ในความเป็นจริงแล้วการมีโครงสร้างพื้นฐานเป็นจรรยาบรรณหมายความว่าอย่างไร

4
โครงสร้างพื้นฐานเป็นรหัสและ TDD
โครงสร้างพื้นฐานเป็นรหัสบอกให้เราใช้เครื่องมือที่ทำให้งานสร้างของคุณเป็นแบบอัตโนมัติ ยิ่งใหญ่ เครื่องมืออย่างansible , พ่อครัว , หุ่นเชิด , กองเกลือและอื่น ๆ ผลักดันเราให้เขียนว่าโครงสร้างพื้นฐานมีลักษณะอย่างไรในขณะที่แก้ไขความแตกต่าง ใน Salt กองบิตเหล่านี้จะเรียกว่ารัฐ หากรัฐไม่ตรงกับความจริงเครื่องมือจะแก้ไขให้เรา กล่าวอีกนัยหนึ่ง - เรากำลังเขียนการทดสอบสำหรับโครงสร้างพื้นฐานของเราและหากการทดสอบล้มเหลวเครื่องมือจะแก้ไขด้วยตนเอง อย่างน้อยนั่นก็เป็นความคิด XP สอนให้เราใช้ TDD และคำถามคือถ้ามันใช้กับโครงสร้างพื้นฐานได้หรือไม่ การขับรถแสดงให้เห็นว่ามันเป็น ฉันนึกภาพการทดสอบบางประเภทที่มีประโยชน์มาก เราเขียนการทดสอบควันที่มาพร้อมกับบริการที่ปรับใช้เพื่อให้แน่ใจว่าบริการที่ปรับใช้แบบ end-to-end จะทำงานและทำงานตามที่คาดไว้ นี่จะเป็นการเรียก API หรือ / และ systemctl ตรวจสอบเพื่อให้แน่ใจว่าสิ่งที่เราเพิ่งปรับใช้งาน ฟังก์ชั่นจำนวนมากนี้สามารถครอบคลุมในสถานะเดียวกันเนื่องจากเครื่องมือเช่น ansible มีสถานะเพื่อให้แน่ใจว่าบริการกำลังทำงานอยู่ มีโครงการโมเลกุลที่อนุญาตให้เรียกใช้แต่ละบทบาท (ตามที่เรียกว่าสถานะของมัน) เทียบกับนักเทียบท่าหรือเครื่องมือ virtualisation ชั่วคราวอื่น กองกำลังนี้จะแยกบทบาทและอนุญาตให้ดำเนินการแยกจาก playbook ขณะที่ทำงานกับพวกเขา การทดสอบส่วนใหญ่อนุญาตการเยาะเย้ยตัวแปรที่บทบาทควรจะทำงานด้วย ตัวอย่างอื่น ๆ ดูเหมือนจะซ้ำซ้อนของเอ็นจิน …

2
วิธีการทำสิ่งต่าง ๆ ที่ยังไม่มีเชฟ
ให้เราบอกว่าฉันมีรหัสเชฟเช่น: require 'mixlib/shellout' yum_package 'somepackage' myvar = Mixlib::ShellOut.new('/bin/somecommand').run_command.stdout.strip ในกรณีที่ยังไม่มีเพราะมันถูกติดตั้งโดย/bin/somecommand somepackageสิ่งนี้จะล้มเหลวในเวลารวบรวมสูตรด้วยเหตุผลดังกล่าว แต่จะทำงานได้อย่างชัดเจนในเวลาที่ลู่เข้าให้การติดตั้งแพ็คเกจสำเร็จแล้ว สิ่งนี้จะล้มเหลวเช่นกันหากมีการติดตั้งแพคเกจเป็นสูตรก่อนหน้าในรายการเรียกใช้เนื่องจากมีการรวบรวมทั้งหมดล่วงหน้า ฉันจะรวมสิ่งต่าง ๆ ในสูตรเชฟที่สูตรหรือ runlist ติดตั้งเองได้อย่างไร
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.