การใช้งาน Deployment Hooks
คู่มือนี้เรียบเรียงและปรับรูปแบบสำหรับ Ruk-Com Cloud PaaS ภาพหน้าจออาจแตกต่างเล็กน้อยตามเวอร์ชันของระบบ
คลิกหรือแตะภาพหน้าจอเพื่อดูรายละเอียดขนาดจริง
วัตถุประสงค์
บทความนี้อธิบายการใช้งาน การใช้งาน Deployment Hooks บน Ruk-Com Cloud PaaS โดยจัดลำดับขั้นตอนและจุดตรวจสอบสำหรับการนำไปใช้งานจริง
ก่อนเริ่มดำเนินการ
- เข้าสู่ระบบด้วยบัญชีที่มีสิทธิ์จัดการ Environment ที่เกี่ยวข้อง
- ตรวจสอบชื่อ Environment, Region และทรัพยากรเป้าหมายก่อนบันทึกการเปลี่ยนแปลง
- สำรองข้อมูลหรือกำหนดแผนย้อนกลับก่อนแก้ไขระบบ Production

ตะขอ(หรือเว็บฮุค) เป็นขั้นตอนการแทรกโค้ดในการดำเนินการมาตรฐานเพื่อใช้การปรับแต่งบางอย่าง ในขอบเขตของ Ruk-Com Cloud Platform ฟังก์ชันนี้อนุญาตให้คุณดำเนินการรันสคริปต์ที่กำหนดเองก่อน และ/หรือ หลังการดำเนินการ deploy แอปพลิเคชัน นอกจากนั้นสำหรับ Marven build node และ Golang แอปพลิเคชันเซิร์ฟเวอร์สามารถตั้งค่า build hooks เพิ่มเติมได้ทั้งก่อนและหลังโปรเจ็กต์
ดังนั้นด้านล่างนี้ เราจะทดสอบวิธีการใช้งาน hooks ที่ Ruk-Com Cloud และภาพรวมกรณีการใช้งานทั่วไปพร้อมทั้งคำแนะนำทีละขั้นตอน โดยฟังก์ชันนี้มีประโยชน์สำหรับ:
การจัดการ Hooks
เป็นส่วนหนึ่งของกระบวนการปรับใช้ Hooks อยู่ที่ส่วนขยายของแบบฟอร์มแดชบอร์ดที่เหมาะสม ดังนั้นการจัดการ hooks ให้เข้าถึงการโต้ตอบการ deploy แอปพลิเคชันโดยใช้ตัวเลือกต่อไปนี้:
- ผู้จัดการฝ่ายปรับใช้

- ปุ่มปรับใช้สำหรับแอปพลิเคชันเซิร์ฟเวอร์

1. ภายในเฟรมที่เปิดอยู่ เลือกประเภทของ source ที่ต้องการ deploy และกดขยายส่วนตะขอ

ในตัวอย่างนี้ให้คลิกปุ่มก่อนหรือโพสต์ที่จัดเตรียมไว้สำหรับโค้ดของคุณ ซึ่งจะดำเนินการตามลำดับก่อน/ทันทีหลังจากการ deploy (ตามตัวเลือกที่เลือก)
2. ป้อนโค้ดที่ต้องการภายในหน้าต่าง Edit Hook ที่เปิดอยู่โดยคุณสามารถใช้ภาษาในการเขียนโปรแกรมใดก็ได้ที่ต้องการ - เพียงตรวจสอบให้แน่ใจว่าคุณได้ติดตั้งโค้ดที่เหมาะสมสำหรับคอนเทนเนอร์เป้าหมายแล้ว (ติดตั้งเบื้องต้นด้วยตัวเองหรือรวมอยู่ในการสร้างสแต็กเริ่มต้น)

- เคล็ดลับ:ภายในหน้าต่างด้านบน คุณสามารถเข้าถึงเครื่องมือต่อไปนี้เพื่อช่วยคุณในระหว่างการแก้โค้ด
- ตัดเส้น- เบรกข้อความเพื่อดำเนินการต่อในบรรทัดด้านล่างหากถึงขอบเฟรม
- ค้นหา-ช่วยในการค้นหาข้อมูลที่คุณต้องการได้อย่างง่ายดาย อีกทั้งมาพร้อมกับ Match case และตัวเลือกการค้นหา Regex เพิ่มเติม
- ช่วยด้วย- เปลี่ยนเส้นทางไปยังเอกสารปัจจุบันเพื่อรับรายละเอียดเกี่ยวกับการใช้ hooks ที่เหมาะสม

คลิกสมัครเมื่อพร้อม ตอนนี้คุณสามารถ deploy แอปพลิเคชันของคุณแล้ว
3. หลังจาก deploy สำเร็จคุณสามารถคลิกปุ่มแสดงบันทึกภายในการแจ้งเตือนแดชบอร์ดที่ปรากฏขึ้นเพื่อดูการตอบสนองโดยละเอียดเกี่ยวกับการดำเนินการ:


หมายเหตุ:ในกรณีที่เกิดข้อผิดพลาดขึ้นระหว่างการดำเนินการ hook คุณจะได้รับการแจ้งเตือนที่เหมาะสมในขณะที่การ deploy จะถูกยกเลิก:
คลิกที่ปุ่มแสดงบันทึกเพื่อรับรายละเอียดเพิ่มเติมเกี่ยวกับข้อผิดพลาดที่เกิดขึ้นโดยดู log ของการดำเนินการ deploy (ซึ่งสอดคล้องกับไฟล์ hooks.log โดยสามารถเข้าถึงได้ผ่านส่วนบันทึกสำหรับเซิร์ฟเวอร์ที่เหมาะสม)
กรณีการใช้งาน Hooks
Hooks มอบโอกาสที่หลากหลายสำหรับนักพัฒนา ทำให้กระบวนการที่ใช้เป็นประจำส่วนใหญ่เป็นไปโดยอัตโนมัติเพื่อให้ได้แอปพลิเคชันที่พร้อมใช้งานหลังจากการ deploy
ตัวอย่างด้านล่างนี้เราได้รวบรวม tasks ทั่วไปที่สามารถติดตั้งโปรแกรมให้สำเร็จโดยอัตโนมัติด้วยการ hooks:
- ติดตั้ง hooks ก่อน(เช่น ดำเนินการก่อนการ deploy แอปพลิเคชันจริง)
- เพื่อตรวจสอบว่าตรงตามข้อกำหนดทั้งหมดหรือไม่
- เพื่อติดตั้งซอฟต์แวร์ที่จำเป็นล่วงหน้า
- เพื่อเคลียร์หรือเตรียมโฟลเดอร์เฉพาะสำหรับไฟล์
- เพื่อบันทึกข้อมูล
- โพสต์ปรับใช้(หลังจากการ deploy สำเร็จ)
- เพื่อรีสตาร์ทแอปพลิเคชันเซิร์ฟเวอร์หลังจากการ deploy
- เพื่อติดตั้งโปรเจกต์ที่พึ่งพากัน
- เพื่อใช้การปรับแต่งอื่นๆที่ต้องการ
- เพื่อบันทึกข้อมูล
ด้านล่างนี้เราได้จัดเตรียมตัวอย่างง่ายๆสำหรับการสร้าง log file ด้วย hooks
1. เริ่มต้นด้วยการ deploy โปรเจกต์ของคุณด้วยวิธีใดก็ได้ที่คุณต้องการ โดยเราจะใช้ไฟล์เก็บถารวรHelloWorld.zipจาก Deployment Manager

2. กดปุ่มขายส่วนของ Hooks คลิกก่อนhook และใส่โค้ดตามที่จัดเตรียมไว้ให้ภายในหน้าต่างการแก้ไข:
echo "$(date) - deployment start" >> ~/mylog
if ! grep -q "$(pwd)/mylog" /etc/jelastic/redeploy.conf; then
echo "$(pwd)/mylog" >> /etc/jelastic/redeploy.conf
fi

โค้ดนี้จะเพิ่มสตริงลงในไฟล์บันทึกของฉัน(จะถูกสร้างขึ้นโดยอัตโนมัติใน home directory หากไม่มีอยู่) ซึ่งจะระบุการเริ่มต้นใช้งานและระบุเวลาที่เหมาะสม นอกจากนี้เราจะตรวจสอบว่าไฟล์ปรับใช้ใหม่.confมีไฟล์ log ที่กำหนดเองหรือไม่ และหากไม่ ให้เพิ่มบรรทัดที่เหมาะสม - ในนลักษณะดังกล่าวไฟล์จะถูกเก็บไว้หลังจากการดำเนินการredeploy คอนเทนเนอร์ใหม่
3. สำหรับโพสต์hook ให้เพิ่มโค้ดต่อไปนี้:
echo "$(date) - deployment end" >> ~/mylog

และนี่คือ log สุดท้ายของการ deploy hook
4. ขั้นตอนสุดท้ายของการ deploy แอปพลิเคชันของคุณ ตรวจสอบทั้งไฟล์ mylog และ redeploy.conf เพื่อตรวจสอบการทำงานของ hooks ว่าประสบความสำเร็จ


อย่างที่คุณเห็นสคริปต์ทำงานตามที่วางแผนไว้โดยให้เวลาเริ่มต้น/สิ้นสุดการปรับใช้และตรวจสอบให้แน่ใจว่าสคริปต์ได้รับการปกป้องในระหว่างการดำเนิน redeploy
หากคุณประสบปัญหาใดๆในขณะทำงานกับ hooks โปรดขอความช่วยเหลือจากผู้เชี่ยวชาญทางเทคนิคที่สแต็คโอเวอร์โฟลว์