การกำหนดและใช้ vars ใน Play
ประกาศค่าและอ้างอิงค่าเหล่านั้น
การกำหนดและใช้ vars ใน Play เป็นบทเรียน Ansible Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Ansible Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Ansible Academy มีบทเรียนทั้งหมด 4 บทเรียน
เหตุใดจึงมีตัวแปร
การเขียนค่าตายตัว เช่น พอร์ตหรือชื่อแพ็กเกจซ้ำไปทุกที่ทำให้การเปลี่ยนแปลงยุ่งยาก ตัวแปร ใช้ตั้งชื่อให้ค่าหนึ่งครั้ง เพื่อให้คุณนำกลับมาใช้ซ้ำได้ 🌟
ส่วน vars
ภายในเพลย์ คุณสามารถเพิ่มคีย์ vars ที่เก็บการจับคู่ระหว่างชื่อกับค่า ทุกสิ่งที่อยู่ภายในจะพร้อมใช้งานสำหรับงานของเพลย์นั้น
- hosts: web
vars:
http_port: 80
app_name: shop
tasks: []การตั้งชื่อตัวแปร
ใช้ตัวอักษรพิมพ์เล็ก ตัวเลข และขีดล่างสำหรับชื่อตัวแปร ชื่อที่ชัดเจนอย่าง http_port ย่อมดีกว่า p1 ที่อ่านไม่เข้าใจเสมอ
ตัวแปรเก็บข้อมูลได้ทุกชนิด
value อาจเป็นสตริง ตัวเลข ค่าบูลีน รายการ หรือพจนานุกรม YAML จะตัดสินชนิดข้อมูลจากรูปแบบที่คุณเขียน
vars:
max_clients: 200
debug: true
packages:
- nginx
- gitการอ้างอิงตัวแปร
หากต้องการใช้ค่า ให้ครอบชื่อของค่าด้วยวงเล็บปีกกาคู่ การเขียน {{ http_port }} จะบอกให้ Ansible แทนที่ด้วยค่าที่เก็บไว้
tasks:
- debug:
msg: "Port is {{ http_port }}"ตัวแปรภายในอาร์กิวเมนต์ของโมดูล
คุณสามารถใส่ตัวแปรลงในอาร์กิวเมนต์ของโมดูลใดก็ได้ ไม่ใช่เฉพาะข้อความ ในที่นี้อาร์กิวเมนต์ name จะรับค่ามาจากตัวแปร
tasks:
- apt:
name: "{{ app_name }}"
state: presentโมดูล debug
โมดูล debug จะแสดงค่าระหว่างการเรียกใช้ ซึ่งช่วยให้คุณตรวจสอบได้ว่าตัวแปรเก็บค่าอะไรอยู่จริง
- debug:
var: http_portvar กับ msg ใน debug
ใช้ var เพื่อแสดงค่าดิบของตัวแปร หรือใช้ msg เพื่อแสดงประโยคที่มีวงเล็บปีกกาอยู่ภายใน ทั้งสองแบบเป็นรูปแบบที่แตกต่างกัน
- debug:
msg: "Serving {{ app_name }} on {{ http_port }}"vars_files สำหรับรายการที่ยาวขึ้น
เมื่อคุณมีค่าจำนวนมาก ให้ย้ายค่าเหล่านั้นไปไว้ในไฟล์แยก แล้วชี้ไปยังไฟล์นั้นด้วย vars_files วิธีนี้ช่วยให้เพลย์สะอาดและอ่านง่าย
- hosts: web
vars_files:
- vars/main.yml
tasks: []vars_prompt สำหรับรับข้อมูล
ต้องการรับค่าขณะทำงานหรือไม่ vars_prompt จะถามคำถามจากผู้ปฏิบัติงาน แล้วเก็บคำตอบไว้เป็นตัวแปร
vars_prompt:
- name: username
prompt: "Enter a username"ขอบเขต: vars ระดับเพลย์
ตัวแปรที่กำหนดไว้ใน vars ของเพลย์จะมีผลกับทุกงานในเพลย์นั้น แต่จะไม่มีผลกับเพลย์อื่นในไฟล์เดียวกัน
ตรวจสอบอย่างรวดเร็ว
คุณจะอ้างอิงค่าของตัวแปรภายในงานได้อย่างไร
สรุปทบทวน
คุณได้เรียนรู้การประกาศค่าภายใต้ vars การตั้งชื่อให้ชัดเจน และการดึงค่ากลับมาใช้ด้วยวงเล็บปีกกาคู่ ตัวแปรช่วยให้เพลย์นำกลับมาใช้ใหม่ได้ ✨
คำถามที่พบบ่อย
บทเรียน “การกำหนดและใช้ vars ใน Play” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “การกำหนดและใช้ vars ใน Play” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Ansible Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Ansible Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “การกำหนดและใช้ vars ใน Play”
ประกาศค่าและอ้างอิงค่าเหล่านั้น คุณปฏิบัติ Ansible Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Ansible Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Ansible Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน
บทเรียน “การกำหนดและใช้ vars ใน Play” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Ansible Academy นี้ได้ไหม
ได้ บทเรียน Ansible Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- การกำหนดและใช้ vars ใน Play
- ไวยากรณ์การแทนที่ {{ }}
- ตัวแปรเพิ่มเติมบนบรรทัดคำสั่ง
- ที่มาและลำดับความสำคัญของตัวแปร