Setup Git (GitHub)
DirectAdmin Git Manager ทำหน้าที่เป็นระบบ Deploy โดยเชื่อมต่อกับ Remote Repository เพื่อดึงไฟล์จาก GitHub มายัง Hosting เป็นหลัก
** ไม่รองรับ Workflow แบบ Push ไฟล์จาก Hosting ขึ้น GitHub โดยตรง
Create SSH Key
ก่อนเชื่อม Git ต้องให้ระบบรู้ว่าเครื่องเราคือใครก่อน นั่นคือ ID Key
- ไปที่ Advanced Features → SSH key
- กด Create Key เพื่อสร้าง SSH Key
- หลังจากสร้าง Key สำเร็จ:
- คลิกที่ SSH Key ที่สร้างไว้
- ระบบจะดาวน์โหลดไฟล์ Key ให้อัตโนมัติ
- เปิดไฟล์ที่ดาวน์โหลด คัดลอก Key ภายในไฟล์ เพื่อนำไปเพิ่มใน GitHub
เพิ่ม SSH Key ใน GitHub
- ไปที่โปรไฟล์ GitHub มุมขวาบน → เลือก Settings
- ไปที่เมนู SSH and GPG Keys → กด New SSH Key
- กรอกข้อมูล
- Title: [ กรอกชื่อ Key ]
- Key type:
- Authentication Key (ใช้กับ DirectAdmin / Git)
- Signing Key (เซ็น commit ไม่เกี่ยวกับการเชื่อมระบบ)
- Key: วาง SSH Key ที่คัดลอกจากข้อ 1
- กด Add SSH Key
- เลือก Repository บน GitHub
หากยังไม่มี ให้กด Create a new repository ตั้งชื่อและสร้าง Repository ให้เรียบร้อย - คัดลอก SSH URL ของ Repository
- กดปุ่ม Code → เลือกแท็บ SSH → กด Copy เพื่อคัดลอก URL ไปใช้ตอนเชื่อมกับ Git Manager บน DirectAdmin ต่อไป
ตั้งค่า Git บน DirectAdmin
- ไปที่ Advanced Features → Git
- กด Create Repository
- กรอกข้อมูลการเชื่อมต่อ
- Domain: [ เลือกโดเมนที่ต้องการเชื่อมต่อ ]
**ไม่สามารถเลือกนอกเหนือจากโดเมนหลักได้ - Name: [ ตั้งชื่อสำหรับการเชื่อมต่อ สามารถกำหนดชื่อใดก็ได้ ]
- Remote: [ วาง SSH URL จาก GitHub (ข้อ 4) ]
- Keyfile: [ ระบุ Path ของ SSH Key ที่สร้างไว้ (ข้อ 1) ]
** Keyfile คือ path ของไฟล์ SSH Key ที่ DirectAdmin ใช้เชื่อมต่อ GitHub
- Domain: [ เลือกโดเมนที่ต้องการเชื่อมต่อ ]
- กด Create Repository
- เข้าไปที่ Modify Repository ได้ 2 แบบดังนี้
- กดที่ name ของRepository ที่สร้าง → Modify
- กด 3 จุด หลัง Repository ที่สร้าง
- กำหนด Branch และ Path สำหรับ Deploy
- Deploy Branch: [ ระบุ Branch ที่ต้องการใช้งาน เช่น main หรือ master ]
** Branch แนะนำเป็น main เนื่องจากเป็นค่าเริ่มต้นของ GitHub - Deploy Directory: [ ระบุโฟลเดอร์สำหรับจัดเก็บไฟล์ เช่น public_html ]
- Key file: [ ตรวจสอบให้ตรงกับ SSH Key ที่สร้างไว้ ]
- Deploy Branch: [ ระบุ Branch ที่ต้องการใช้งาน เช่น main หรือ master ]
- กด Save
หลังจากเชื่อมต่อ Git กับ GitHub และกำหนด Branch / Path สำหรับ Deploy แล้ว สามารถเข้ามาที่ Repository Info เพื่อจัดการ Repository ได้ดังนี้
- Logs: ดูประวัติการทำงานของ Git
- Fetch: ดึงข้อมูลล่าสุดจาก Repository บน GitHub มายัง Server
- Deploy: นำโค้ดจาก Branch ที่กำหนด ไปวางใน Directory ที่ตั้งค่าไว้
- Modify: แก้ไขค่าการตั้งค่า Repository ที่เชื่อมต่อไว้
- หากเรากด Fetch → Deploy → ระบบจะดึงไฟล์จาก GitHub มายังโฟลเดอร์ที่กำหนดคือ /public_html ของ Domain