GitLab คืออะไร และวิธีติดตั้งบน Cloud Server
GitLab คือแพลตฟอร์มที่รวมที่เก็บซอร์สโค้ด การรีวิวโค้ด CI/CD และการจัดการโครงการไว้ในระบบเดียว องค์กรติดตั้งบนเซิร์ฟเวอร์ของตัวเองได้ ทำให้ซอร์สโค้ดไม่ต้องออกนอกประเทศ
- หมวดหมู่
- DevOps และ CI/CD
- ติดตั้งบนเซิร์ฟเวอร์เองได้
- ได้
- สเปกเริ่มต้นที่แนะนำ
- 4 vCPU · RAM 8 GB
- ไลเซนส์
- MIT (Community Edition)
- เว็บทางการ
- เปิดเว็บไซต์
- ISO/IEC 27001
- ISO 22301
- ISO 20000-1
- CSA-STAR
Data Center ในไทย มาตรฐาน TIA-942 Tier 3+ ข้อมูลอยู่ในประเทศไทย
GitLab คืออะไร
GitLab เริ่มจากการเป็นที่เก็บซอร์สโค้ดแบบ Git แล้วขยายจนครอบคลุมทั้งวงจรการพัฒนา ตั้งแต่การวางแผนงาน การรีวิวโค้ดผ่าน Merge Request การทดสอบอัตโนมัติ ไปจนถึงการนำขึ้นเซิร์ฟเวอร์จริง
สิ่งที่ทำให้องค์กรไทยเลือกติดตั้งเอง คือซอร์สโค้ดและข้อมูลลูกค้าที่อยู่ในระบบทดสอบไม่ต้องส่งออกไปยังบริการต่างประเทศ ซึ่งสำคัญกับงานภาครัฐ ธนาคาร และงานที่มีข้อกำหนดด้านข้อมูล
GitLab รุ่น Community Edition ใช้ฟรีและมีความสามารถหลักครบ ทั้ง Git, CI/CD, Container Registry และระบบ Issue จุดที่ต้องวางแผนคือมันกินทรัพยากรมาก ต้องเตรียม RAM อย่างน้อย 8 GB สำหรับการใช้งานจริง
ความสามารถเด่นของ GitLab
ที่เก็บซอร์สโค้ดพร้อมรีวิว
Merge Request พร้อมความเห็นแบบอินไลน์ การอนุมัติ และการป้องกัน Branch สำคัญ
CI/CD ในตัว
เขียน Pipeline ในไฟล์เดียวในโปรเจกต์ ทดสอบและ Deploy อัตโนมัติทุกครั้งที่มีการ Push
Container Registry ส่วนตัว
เก็บ Docker Image ขององค์กรไว้ในระบบเดียวกับซอร์สโค้ด
จัดการโครงการและ Issue
บอร์ดงาน Milestone และการเชื่อม Issue กับ Commit ในที่เดียว
ระบบสิทธิ์ระดับองค์กร
กำหนดสิทธิ์ต่อกลุ่ม โครงการ และ Branch พร้อมเชื่อมกับ LDAP หรือ SSO ได้
ใช้ GitLab ทำอะไรได้บ้าง
- องค์กรที่ต้องเก็บซอร์สโค้ดไว้ในประเทศตามข้อกำหนดด้านความปลอดภัย
- ทีมพัฒนาที่ต้องการ CI/CD โดยไม่จ่ายค่าบริการตามนาทีที่ใช้
- บริษัทซอฟต์แวร์ที่ดูแลหลายโครงการและหลายลูกค้า
- หน่วยงานที่ต้องตรวจสอบย้อนหลังว่าใครแก้โค้ดส่วนใดเมื่อไหร่
สเปก Cloud Server ที่แนะนำ
| ระดับการใช้งาน | vCPU | RAM | Disk |
|---|---|---|---|
| ขั้นต่ำทีมไม่เกิน 20 คน ใช้ CI ไม่หนัก | 4 vCPU | 8 GB | NVMe 100 GB |
| แนะนำทีม 20 ถึง 100 คน พร้อม Runner แยกเครื่อง | 8 vCPU | 16 GB | NVMe 250 GB |
| องค์กรใหญ่หลายทีม มี Registry และ Pipeline จำนวนมาก | 16 vCPU ขึ้นไป | 32 GB ขึ้นไป | NVMe 500 GB ขึ้นไป |
ดูราคาตามสเปกได้ที่ ราคา Cloud Compute หรือให้ทีมงานช่วยประเมินสเปกจากปริมาณผู้ใช้จริงของคุณ
วิธีติดตั้ง GitLab บน Cloud Server ของ THAI DATA CLOUD
ขั้นตอนด้านล่างใช้กับ Cloud Server ที่เพิ่งสร้างใหม่จากหน้าจัดการของ THAI DATA CLOUD ได้ทันที ถ้าไม่สะดวกทำเอง ทีมวิศวกรของเราติดตั้งและตั้งค่าให้ฟรีสำหรับลูกค้า Cloud Server
สิ่งที่ต้องเตรียม
- Ubuntu Server 24.04 LTS หรือ Rocky Linux 9
- RAM อย่างน้อย 8 GB (4 GB ทำได้แต่จะช้าจนไม่เหมาะกับงานจริง)
- โดเมนสำหรับ GitLab และใบรับรอง SSL
- เครื่องแยกสำหรับ GitLab Runner ถ้ามี Pipeline หนัก
ทดสอบบน Ubuntu Server 24.04 LTS
- 1
ติดตั้งแพ็กเกจที่จำเป็น
sudo apt update sudo apt -y install curl openssh-server ca-certificates tzdata perl postfix - 2
เพิ่มที่เก็บแพ็กเกจของ GitLab
curl -fsSL https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash - 3
ติดตั้ง GitLab CE
ระบุ EXTERNAL_URL เป็นโดเมนจริง GitLab จะขอใบรับรอง Let's Encrypt ให้อัตโนมัติเมื่อใช้ https
sudo EXTERNAL_URL="https://gitlab.example.com" apt -y install gitlab-ce - 4
ดูรหัสผ่านผู้ดูแลระบบครั้งแรก
ไฟล์นี้จะถูกลบอัตโนมัติหลัง 24 ชั่วโมง ให้เข้าไปเปลี่ยนรหัสผ่านทันที
sudo cat /etc/gitlab/initial_root_password - 5
ติดตั้ง GitLab Runner สำหรับ CI/CD
แนะนำให้ติดตั้งบน Cloud Server อีกเครื่อง เพื่อไม่ให้งานบิลด์แย่งทรัพยากรกับตัว GitLab
curl -L "https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh" | sudo bash sudo apt -y install gitlab-runner sudo gitlab-runner register - 6
ตั้งการสำรองข้อมูล
ต้องสำรองทั้งข้อมูลและไฟล์ตั้งค่าใน /etc/gitlab ซึ่งเก็บกุญแจเข้ารหัส ถ้าไม่มีไฟล์นี้จะกู้ข้อมูลบางส่วนไม่ได้
sudo gitlab-backup create sudo tar czf /var/backups/gitlab-config-$(date +%F).tar.gz /etc/gitlab
GitLab อัปเดตบ่อยและมีลำดับเวอร์ชันที่ต้องไล่ตาม อย่าข้ามหลายเวอร์ชันรวดเดียว ให้ตรวจเส้นทางการอัปเกรดจากเอกสารทางการก่อนเสมอ
พอร์ตที่ต้องเปิดบน Firewall
| พอร์ต | โปรโตคอล | ใช้ทำอะไร |
|---|---|---|
| 80 | TCP | HTTP และการต่ออายุใบรับรอง |
| 443 | TCP | HTTPS สำหรับหน้าเว็บและ Git over HTTPS |
| 22 | TCP | Git over SSH |
สิ่งที่ควรทำต่อหลังติดตั้งเสร็จ
- ปิดการสมัครสมาชิกเองและเปิดใช้เฉพาะบัญชีที่ผู้ดูแลสร้างหรือผ่าน SSO ขององค์กร
- บังคับการยืนยันตัวตนสองชั้นสำหรับทุกบัญชี
- ป้องกัน Branch หลักและกำหนดให้ต้องผ่านการอนุมัติก่อน Merge
- ตั้งค่าให้ Runner ไม่รันด้วยสิทธิ์ที่เกินจำเป็น และแยกเครื่องออกจาก GitLab
- สำรองข้อมูลทุกวันพร้อมไฟล์ /etc/gitlab และทดสอบกู้คืนจริงเป็นระยะ
ทำไมควรรัน GitLab บน Cloud Server ของ THAI DATA CLOUD
Data Center ในประเทศไทย มาตรฐาน ISO/IEC 27001 และ ISO 22301 พร้อมทีมวิศวกรคนไทยดูแลตลอด 24 ชั่วโมง
ซอร์สโค้ดและข้อมูลทดสอบอยู่ใน Data Center ในไทย ตอบข้อกำหนดขององค์กรที่ห้ามส่งข้อมูลออกนอกประเทศ
รัน Runner บน Cloud Server ของตัวเอง จ่ายค่าเครื่องคงที่แทนการจ่ายตามนาทีของบริการ CI ต่างประเทศ
ขยาย RAM ได้ทันทีเมื่อจำนวนผู้ใช้และ Pipeline เพิ่มขึ้น
คำถามที่พบบ่อยเกี่ยวกับ GitLab
GitLab CE ใช้ฟรีจริงไหม
จริง รุ่น Community Edition ใช้งานได้ไม่จำกัดผู้ใช้และไม่มีค่าไลเซนส์ ความสามารถที่ต้องจ่ายเพิ่มเป็นส่วนของงานองค์กรขนาดใหญ่ เช่น การอนุมัติหลายชั้นและรายงานด้านความปลอดภัยขั้นสูง
GitLab ต้องใช้สเปกเท่าไหร่
ขั้นต่ำที่ใช้งานจริงได้คือ 4 vCPU และ RAM 8 GB ถ้ามีทีมหลายสิบคนหรือ Pipeline ทำงานพร้อมกันบ่อย ควรใช้ 8 vCPU และ RAM 16 GB พร้อมแยกเครื่อง Runner ออกไป
ต่าง Gitea อย่างไร ควรเลือกตัวไหน
Gitea เบามาก รันบนเครื่อง 1 vCPU ได้และเหมาะกับทีมเล็กที่ต้องการแค่ที่เก็บโค้ด ส่วน GitLab ให้ CI/CD, Registry และระบบจัดการโครงการครบในตัว เหมาะกับองค์กรที่ต้องการแพลตฟอร์มเดียวจบ
ทางเลือกอื่นที่คล้ายกับ GitLab
แอปอื่นในหมวด DevOps และ CI/CD
บริการของ THAI DATA CLOUD ที่เกี่ยวข้อง
ให้เราติดตั้ง GitLab ให้ฟรี บน Cloud Server ในไทย
แจ้งความต้องการสั้น ๆ ทีมวิศวกรจะช่วยประเมินสเปก ติดตั้ง และตั้งค่าความปลอดภัยให้พร้อมใช้งาน ปรึกษาฟรี ไม่มีข้อผูกมัด