ตั้งค่า AWX ให้ใช้ Playbook จาก Gitlab
หลังจากที่เราติดตั้ง AWX ไปแล้วในบทความก่อนหน้านี้. วันนี้เราจะมาตั้งค่าให้ AWX ของเรา เรียกใช้ Playbook จาก Gitlab กัน
What?
หลังจากที่เราติดตั้ง AWX ไปแล้วในบทความก่อนหน้านี้. วันนี้เราจะมาตั้งค่าให้ AWX ของเรา เรียกใช้ Playbook จาก Gitlab กัน
Why?
ทุกคนคงเคยได้ยินคำว่า Single Source of Truth กันมาก่อน หากยังก็ลองหาอ่าน Single Source of Truth philosophy. สรุปสั้นๆคือ แหล่งความจริงเพียงหนึ่งเดียว เชื่อถือได้ ตรวจสอบได้ โดยในบทความนี้เราจะมาปรับใช้กันคือ ก่อนหน้านี้เราใช้ playbook จากตัว awx local ซึ่งอาจจะมีใครมาแก้ตอนไหนก็ได้ (ถ้าเขาเข้าถึงได้) ซึ่งหากเป็นการใช้งานในองค์กรแล้ว ผมเชื่อว่าส่วนมากจะต้องใช้ Playbook นี้ร่วมกัน แล้วถ้าหาก playbook มันถูกแก้ไข หรือทำให้หายไป เราจะเช็คกันยังไง? ก็ไม่เชิงว่าไม่มีวิธีเช็ค แต่เราอย่าไปเหนื่อยขนาดนั้นแต่แรกดีกว่า การตั้งค่าให้ AWX มาใช้ Playbook จาก Gitlab นั้น ทำให้เราเมคชัวร์ได้ว่า Playbook นั้นคืออันที่เชื่อถือได้ และหากมีการแก้ไข จะสามารถตรวจสอบย้อนหลังได้นั่นเอง
Howto
ตอนนี้เราได้ติดตั้ง AWX และ Gitlab เรียบร้อยแล้ว ทีนี้เรามาเริ่มตั้งค่ากัน โดยก่อนอื่นให้เราย้าย Playbook ของเราจาก local ไปยัง repo ที่เราต้องการ ด้วยวิธีการทั่วไปคือ git clone, add, commit, push โดยเมื่อเสร็จหน้าตาที่ได้จะประมาณนี้

จากนั้นมาดูที่ AWX กัน โดยเราจะทำคือ
- Setup credential for Gitlab
- Setup project for Gitlab
- Setup Template for Gitlab
Setup credentials for Gitlab
ไปที่ Credentials > Add แล้วเลือก Credential Type: Source Control


โดยจะใช้ Private key ก็ได้นะครับ จากนั้นกดเซฟ
จากนั้นไปที่ Projects > Add

จากนั้นลองกด sync ซึ่งถ้าไม่มีอะไรผิดพลาด มันจะเขียว

จากนั้นก็ Templates > Add

เมื่อเรามาลอง run task. AWX ก็จะทำการ clone repo มานั่นแหละ แล้ว execute

Summary
หวังว่าจะมีประโยชน์กับเพื่อนๆ นะครับ เพราะการจัดการ code ใน git นั้นง่ายกว่าไป edit ใน local แน่นวล แถมยังสามารถใช้ version control ได้ด้วย