วิธีการ Hot Plug หรือ Hot Deploy เป็นวิธีการที่ใช้แก้ไขไม่ให้เกิด Service Temporarily Unavailable (ไม่สามารถให้บริการได้ชั่วคราว) ในขณะที่กำลังทำการ git push เพื่อแก้ไขแอปพลิเคชันบน OpenShift
ทดสอบการทำงานแบบปกติด้วยการเข้าไปแก้ไขไฟล์ index.php ในแอปพลิเคชัน basicphp ที่ได้สร้างไปใน How-To ครั้งที่แล้วด้วยคำสั่ง
cd basicphp
gedit index.php
แก้ไขโดยการเพิ่ม code ดังภาพแล้วทำการบันทึก
สั่งปรับปรุงแอปพลิเคชันด้วยกระบวนการของ git ด้วยคำสั่ง
git commit –a –m “Edit Comment”
git push
เมื่อสั่งคำสั่งแล้วจะมีการหยุดการทำงานของ Cartridge ในขณะที่มีการหยุดการทำงาน ทดลองกดปุ่ม refresh บนเว็บเบราว์เซอร์ก็จะพบกับหน้าจอ Service Temporarily Unavailable และเมื่อกระบวนการ git เสร็จสิ้นเมื่อกดปุ่ม refresh บนเว็บเบราว์เซอร์ก็จะพบกับหน้าจอที่แสดงผลแอปพลิเคชันที่ได้ปรับปรุงไป
มาทำ Hot Plug กัน
เรียกดูรายการไฟล์ด้วยคำสั่ง
ls –a
จะพบกับไดเรกทอรี .openshift
สร้างไฟล์ hot_deploy ไว้ใน .openshift/markers ด้วยคำสั่ง
touch .openshift/markers/hot_deploy
แล้วทำการแก้ไขไฟล์ index.php อีกครั้ง
ทำการบันทึกและสั่งปรับปรุงแอปพลิเคชันพร้อมทั้งเพิ่มไฟล์ hot_deploy ด้วยกระบวนการของ git ด้วยคำสั่ง
git add hot_deploy
git commit –a –m “Add hot_deploy”
git push
สังเกตว่าจะไม่มีการหยุดการทำงานของ Cartridge เมื่อกดปุ่ม refresh บนเว็บเบราว์เซอร์ก็จะไม่พบกับหน้าจอ Service Temporarily Unavailable และเมื่อกระบวนการ git เสร็จสิ้นเมื่อกดปุ่ม refresh บนเว็บเบราว์เซอร์ก็จะพบกับหน้าจอที่แสดงผลแอปพลิเคชันที่ได้ปรับปรุงไป
วิธีการยกเลิกการใช้ Hot Plug มีวิธีง่ายๆคือทำการลบ ไฟล์ hot_deploy ด้วยคำสั่ง
rm .openshift/markers/hot_deploy
git commit –a –m “Remove Hot Deploy”
git push
เมื่อสั่งคำสั่งข้างบนแล้วก็จะพบว่ามีการหยุดการทำงานของ Cartridge และเกิด Service Temporarily Unavailable