ติดตั้ง Role ด้วย requirements.yml
กำหนดเวอร์ชันและดึงการพึ่งพามาใช้
ติดตั้ง Role ด้วย requirements.yml เป็นบทเรียน Ansible Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Ansible Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Ansible Academy มีบทเรียนทั้งหมด 4 บทเรียน
หยุดติดตั้งด้วยตนเอง
การเรียกใช้คำสั่งติดตั้งทีละคำสั่งไม่สามารถขยายระบบได้ดี ไฟล์ requirements.yml จะแสดงรายการสิ่งที่ต้องพึ่งพาทั้งหมด เพื่อให้ติดตั้งทั้งโครงการได้ในครั้งเดียว
รายการกำกับการพึ่งพา
ให้คิดว่า requirements.yml เป็นรายการแพ็กเกจของคุณ ซึ่งระบุอย่างชัดเจนว่าเพลย์บุ๊กต้องใช้บทบาทและคอลเลกชันใดบ้างจึงจะทำงานได้
ระบุบทบาทไว้ใต้ roles
ภายในไฟล์ คีย์ roles จะเก็บรายการไว้ แต่ละรายการระบุชื่อบทบาทที่จะดึงจาก Galaxy โดยใช้ชื่อ author.name
roles:
- name: geerlingguy.nginxระบุคอลเลกชันด้วย
คีย์ collections ที่แยกต่างหากจะระบุคอลเลกชันด้วยชื่อ namespace.collection ทำให้ไฟล์เดียวรองรับเนื้อหาทั้งสองประเภท
collections:
- name: community.generalกำหนดเวอร์ชัน
ควรเพิ่ม เวอร์ชันไว้เสมอเพื่อให้ติดตั้งซ้ำได้ผลเหมือนเดิม หากไม่ระบุ คุณอาจดึงรุ่นใหม่ที่ทำให้ระบบเสียหายมาติดตั้งในเครื่องของเพื่อนร่วมทีม
roles:
- name: geerlingguy.nginx
version: "3.1.4"ติดตั้งทุกอย่างพร้อมกัน
ชี้ ansible-galaxy ไปยังไฟล์ด้วย -r แล้วคำสั่งจะค้นหาและติดตั้งสิ่งที่ต้องพึ่งพาทั้งหมดในคำสั่งเดียว
ansible-galaxy install -r requirements.ymlคอลเลกชันต้องเรียกใช้คำสั่งแยกต่างหาก
คำสั่งติดตั้งทั่วไปจะจัดการบทบาท ส่วนคอลเลกชันให้ใช้คำสั่งย่อย collection install พร้อมแฟล็ก -r เดิม
ansible-galaxy collection install -r requirements.ymlดึงจาก Git ไม่ใช่แค่ Galaxy
รายการบทบาทสามารถใช้ URL ของ Git ใน src แทนชื่อใน Galaxy ทำให้คุณติดตั้งบทบาทส่วนตัวหรือบทบาทที่ยังไม่ได้เผยแพร่ได้
roles:
- src: https://github.com/acme/role-app.git
version: mainเลือกเส้นทางติดตั้ง
เพิ่ม -p เพื่อวางบทบาทไว้ในโฟลเดอร์ภายในโครงการ เช่น roles/ แทนเส้นทางส่วนกลาง ทำให้แต่ละโครงการมีทุกอย่างอยู่ในตัวเอง
ansible-galaxy install -r requirements.yml -p roles/บังคับให้รีเฟรช
ตามค่าเริ่มต้น ระบบจะเก็บบทบาทที่มีอยู่ไว้ ให้ส่ง --force เพื่อดาวน์โหลดใหม่และเขียนทับบทบาทเหล่านั้นเมื่อปรับเวอร์ชันที่ตรึงไว้ให้ใหม่ขึ้น
ansible-galaxy install -r requirements.yml --forceคอมมิตไฟล์ ไม่ใช่บทบาท
เพิ่ม requirements.yml เข้า Git แต่ไม่ต้องติดตามโฟลเดอร์บทบาทที่ดาวน์โหลดมา ทุกคนสามารถสร้างชุดเดิมขึ้นใหม่จากไฟล์รายการได้
ตรวจสอบอย่างรวดเร็ว
ทบทวนวิธีติดตั้งทุกสิ่งที่โครงการต้องพึ่งพา
สรุปทบทวน
แสดงรายการบทบาทและคอลเลกชันใน requirements.yml ตรึงเวอร์ชัน แล้วติดตั้งทั้งหมดด้วย ansible-galaxy -r ใช้ไฟล์เดียว ก็สร้างสภาพแวดล้อมเดิมซ้ำได้ 📦
คำถามที่พบบ่อย
บทเรียน “ติดตั้ง Role ด้วย requirements.yml” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “ติดตั้ง Role ด้วย requirements.yml” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Ansible Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Ansible Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “ติดตั้ง Role ด้วย requirements.yml”
กำหนดเวอร์ชันและดึงการพึ่งพามาใช้ คุณปฏิบัติ Ansible Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Ansible Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Ansible Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน
บทเรียน “ติดตั้ง Role ด้วย requirements.yml” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Ansible Academy นี้ได้ไหม
ได้ บทเรียน Ansible Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- Role เทียบกับ Collection บน Galaxy
- ติดตั้ง Role ด้วย requirements.yml
- ใช้ FQCN: namespace.collection.module
- เผยแพร่ Role ของคุณไปยัง Galaxy