เช่า GitLab VPS: โค้ดและ CI/CD บนเซิร์ฟเวอร์ของคุณ
- ติดตั้งด้วย Docker อิมเมจ gitlab/gitlab-ce ทางการ
- แนะนำแพ็กเกจที่มีหน่วยความจำ 16 GB ขึ้นไป
- สิทธิ์ root และที่อยู่ IPv4, IPv6 สาธารณะ
HELPER VPS GitLab VPS คือคลาวด์เซิร์ฟเวอร์ Linux ที่คุณรัน GitLab Community Edition ซึ่งจัดการคลัง Git และ CI/CD ในที่เดียว ชำระด้วยใบแจ้งหนี้เริ่มต้นที่ $25.00 ต่อเดือน เลือกอิมเมจแอป Docker ขณะสร้างเซิร์ฟเวอร์ เชื่อมต่อผ่าน SSH และรันอิมเมจ gitlab/gitlab-ce ทางการ คุณสามารถจัดการโค้ด issue และ pipeline ของทีมบนเซิร์ฟเวอร์ของคุณเอง
GitLab คืออะไร
GitLab คือแพลตฟอร์มพัฒนาที่รวมการจัดการคลัง Git, code review, การจัดการ issue, CI/CD pipeline และ container registry ไว้ด้วยกัน GitLab Community Edition (CE) คือรุ่นฟรีที่เปิดเป็นโอเพนซอร์ส ทีมติดตั้งบนเซิร์ฟเวอร์ของตัวเองเพื่อเก็บโค้ดและประวัติการพัฒนาเองได้ มีฟีเจอร์การทำงานร่วมกันอย่าง merge request, wiki และ milestone มาให้ในตัว
Docker อิมเมจ gitlab/gitlab-ce ทางการมีทั้งตัว GitLab และ PostgreSQL, Redis, Nginx, Puma, Sidekiq ครบ จึงรันบริการทั้งหมดได้ด้วยคอนเทนเนอร์เดียว การตั้งค่า ล็อก และข้อมูลแยกเก็บบนดิสก์เซิร์ฟเวอร์ผ่าน volume แม้เปลี่ยนคอนเทนเนอร์เป็นเวอร์ชันใหม่ คลังโค้ดและข้อมูลผู้ใช้ก็ยังอยู่ครบ
GitLab VPS ใช้ทำอะไรได้บ้าง
เซิร์ฟเวอร์ GitLab ที่โฮสต์เองเครื่องเดียว รวมขั้นตอนการพัฒนาทั้งหมดไว้บนเซิร์ฟเวอร์ของคุณ
คลัง Git ภายในองค์กร
สร้างโปรเจกต์ส่วนตัวได้ตามต้องการ และแบ่งสิทธิ์อ่านเขียนให้สมาชิกแต่ละคนด้วยกลุ่มและบทบาท
CI/CD pipeline
รันการทดสอบ build และ deploy อัตโนมัติด้วยไฟล์ .gitlab-ci.yml ไฟล์เดียว และดูผลได้ทันทีใน merge request
Container registry
อัปโหลด Docker อิมเมจที่ build แล้วไว้ใน GitLab registry ให้เซิร์ฟเวอร์ deploy ดึงไปใช้ได้ทันที
จัดการ issue และโปรเจกต์
จัดการกำหนดการและเอกสารไว้ข้างโค้ดด้วย issue board, label, milestone และ wiki
ซื้อเซิร์ฟเวอร์ GitLab อย่างไร
ตั้งแต่การชำระเงินครั้งแรกจนถึงการล็อกอินครั้งแรกมีสามขั้นตอน
ขั้นที่ 1 เลือกแพ็กเกจที่มีหน่วยความจำ 16 GB ขึ้นไป
เลือกวิธีการชำระเงิน เลือกเมืองที่ใกล้ทีมของคุณ และเลือกแพ็กเกจที่มีหน่วยความจำ 16 GB ขึ้นไป
ขั้นที่ 2 สร้างด้วยอิมเมจแอป Docker
เลือก Docker จากรายการอิมเมจ จะได้เซิร์ฟเวอร์ Ubuntu 24.04 ที่เตรียม Docker Engine และ Docker Compose ไว้แล้ว
ขั้นที่ 3 เชื่อมต่อ SSH แล้วรันคำสั่ง
เชื่อมต่อ SSH ด้วย root รันคำสั่งด้านล่าง แล้วรอสักครู่ เปิดที่อยู่เซิร์ฟเวอร์ในเบราว์เซอร์และล็อกอินด้วยบัญชี root
ติดตั้ง GitLab CE อย่างไร
เชื่อมต่อ SSH ไปยังเซิร์ฟเวอร์ที่สร้างจากอิมเมจแอป Docker แล้วรันคำสั่งด้านล่าง เปลี่ยน gitlab.example.com เป็นโดเมนหรือ IP เซิร์ฟเวอร์ของคุณ และเนื่องจาก SSH ของเซิร์ฟเวอร์ใช้พอร์ต 22 จึงเปิด Git SSH ของ GitLab ที่พอร์ต 2222 การเริ่มครั้งแรกใช้เวลาไม่กี่นาที และดูรหัสผ่าน root ครั้งแรกได้ด้วยคำสั่งบรรทัดสุดท้าย (ไฟล์นี้จะถูกลบหลัง 24 ชั่วโมง)
export GITLAB_HOME=/srv/gitlab
sudo mkdir -p $GITLAB_HOME
sudo docker run --detach \
--hostname gitlab.example.com \
--publish 443:443 --publish 80:80 --publish 2222:22 \
--name gitlab \
--restart always \
--volume $GITLAB_HOME/config:/etc/gitlab \
--volume $GITLAB_HOME/logs:/var/log/gitlab \
--volume $GITLAB_HOME/data:/var/opt/gitlab \
--shm-size 256m \
gitlab/gitlab-ce:latest
sudo docker logs -f gitlab
sudo docker exec -it gitlab grep 'Password:' /etc/gitlab/initial_root_passwordติดตั้ง GitLab บน VPS เองดีอย่างไร
ดูแล GitLab VPS เอง จัดการโค้ดและ pipeline ตามเกณฑ์ของคุณ
โค้ดอยู่บนเซิร์ฟเวอร์ของคุณ คลังโค้ด issue และประวัติ CI เก็บบนดิสก์เซิร์ฟเวอร์ในเมืองที่คุณเลือก และคุณกำหนดสิทธิ์การเข้าถึงเอง
ไม่มีค่าบริการตามจำนวนผู้ใช้ GitLab CE เป็นรุ่นฟรี ด้วยค่าเซิร์ฟเวอร์เดียวสร้างบัญชีสมาชิกทีมได้ตามต้องการ
ใช้เวลา CI ได้เต็มที่ ติด GitLab Runner บนเซิร์ฟเวอร์ของคุณ ก็ใช้เวลารัน pipeline ได้อิสระภายในประสิทธิภาพของเซิร์ฟเวอร์
เลือกแพ็กเกจหน่วยความจำสูง แพ็กเกจหน่วยความจำสูงมีหน่วยความจำ 16~128 GB รองรับ GitLab ที่มีคลังโค้ดและผู้ใช้มากได้เหลือเฟือ
เพิ่มดิสก์ได้ง่าย เพิ่มดิสก์เสริม 50~1000 GB ตอนสร้าง เพื่อเก็บคลังโค้ดและอิมเมจใน registry ได้นาน
ปกป้องด้วยแบ็กอัปอัตโนมัติ ใช้ตัวเลือกแบ็กอัปอัตโนมัติร่วมกับคำสั่ง gitlab-backup เพื่อเก็บข้อมูลเซิร์ฟเวอร์และ GitLab สองชั้น
เทคโนโลยีที่ใช้คู่กับ GitLab
อิมเมจ GitLab CE ทางการรวมเทคโนโลยีด้านล่างไว้ภายใน และรันพร้อมกันบน GitLab VPS
- Docker
- PostgreSQL
- Redis
- NGINX
- Ubuntu
วางเซิร์ฟเวอร์ไว้ใกล้ลูกค้า
สร้างเซิร์ฟเวอร์ GitLab ได้ในราคาเดียวกันทุกที่ใน 40 เมือง 31 ประเทศ
GitLab VPS ต้องใช้หน่วยความจำกี่ GB
GitLab รันเว็บเซิร์ฟเวอร์ งานเบื้องหลัง ฐานข้อมูล และแคชพร้อมกัน ดังนั้นต้องใช้หน่วยความจำอย่างน้อย 4 GB และเราแนะนำ 16 GB ขึ้นไปสำหรับการใช้งานทีมจริง ด้วย 12 GB อินเทอร์เฟซอาจช้าลงเมื่อมีผู้ใช้พร้อมกันเพียงไม่กี่คน ดังนั้นที่ HELPER VPS เราแนะนำให้เริ่มจากแพ็กเกจ 4 vCPU, 16 GB แพ็กเกจประสิทธิภาพสูงด้วยดิสก์ NVMe ทำให้การ clone คลังโค้ดและการค้นหาทำงานเร็วขึ้น
หากรันงาน CI ด้วย GitLab Runner บนเซิร์ฟเวอร์เดียวกัน การ build จะใช้หน่วยความจำร่วมด้วย แพ็กเกจ 16 GB จึงเหมาะ ทีมที่มีผู้ใช้และโปรเจกต์มากให้เลือกแพ็กเกจหน่วยความจำสูงอย่าง m32 และแยก Runner ไปไว้อีกเซิร์ฟเวอร์ หน้าจอ GitLab ก็จะลื่นเสมอ หนึ่งบัญชีสร้างเซิร์ฟเวอร์ได้สูงสุด 10 เครื่อง จึงแยกแบบนี้ได้ง่าย
หลังเริ่มโฮสต์ GitLab เองต้องตั้งค่าอะไร
หลังล็อกอินครั้งแรก ให้เปลี่ยนรหัสผ่าน root และในพื้นที่ผู้ดูแล เปลี่ยนการสมัครสมาชิกเป็นแบบต้องอนุมัติหรือปิดไว้ ก็จะมีเฉพาะสมาชิกทีมที่เข้าได้ หากใช้โดเมน ให้กำหนด external_url ใน /srv/gitlab/config/gitlab.rb เป็นที่อยู่ https เปิดการตั้งค่า letsencrypt แล้วรัน sudo docker exec -it gitlab gitlab-ctl reconfigure ใบรับรอง HTTPS ก็จะติดตั้งอัตโนมัติ
อีเมลแจ้งเตือนส่งโดยใส่บริการส่งอีเมลที่ใช้พอร์ต 587 ในการตั้งค่า SMTP ของ gitlab.rb หากต้องการให้ที่อยู่ Git SSH แสดงพอร์ต 2222 ให้ตั้งค่า gitlab_rails['gitlab_shell_ssh_port'] เป็น 2222 สร้างแบ็กอัปเป็นประจำด้วย sudo docker exec -t gitlab gitlab-backup create และเมื่ออัปเกรดเป็นเวอร์ชันใหม่ ให้ตรวจเส้นทางการอัปเกรดทางการก่อนเปลี่ยนอิมเมจจะปลอดภัย
คำถามที่พบบ่อยเรื่องโฮสติ้ง GitLab
คำถามที่ถามบ่อยเมื่อเลือกและติดตั้ง VPS GitLab
GitLab VPS ติดตั้งแบบคลิกเดียวหรือไม่
สร้างเซิร์ฟเวอร์ด้วยอิมเมจแอป Docker แล้วรันอิมเมจ gitlab/gitlab-ce ทางการด้วยคำสั่ง docker run เดียว วางคำสั่งด้านบนแล้วรอสักครู่ หน้าล็อกอิน GitLab ก็จะเปิดในเบราว์เซอร์
GitLab ต้องใช้หน่วยความจำอย่างน้อยกี่ GB
GitLab ต้องใช้หน่วยความจำอย่างน้อย 4 GB และเราแนะนำ 16 GB ขึ้นไปเพื่อให้ทีมใช้งานได้สบาย ดังนั้นเราแนะนำให้เริ่มจากแพ็กเกจ 4 vCPU, 16 GB (g16, n16) และแพ็กเกจ 32 GB หากคุณรัน CI Runner ด้วย
ติดตั้งด้วยแพ็กเกจ Omnibus บนอิมเมจ Ubuntu ได้หรือไม่
ได้ มีวิธีเพิ่มคลังแพ็กเกจทางการของ GitLab บนเซิร์ฟเวอร์ Ubuntu แล้วติดตั้งเช่นกัน วิธี Docker แยกการตั้งค่า ล็อก และข้อมูลเป็น volume จึงอัปเดตและย้ายได้สะดวก หน้านี้จึงแนะนำวิธี Docker
ดูรหัสผ่าน root ครั้งแรกได้ที่ไหน
ดูได้ด้วยคำสั่ง sudo docker exec -it gitlab grep 'Password:' /etc/gitlab/initial_root_password ไฟล์นี้จะถูกลบหลังตั้งค่าครั้งแรก 24 ชั่วโมง เมื่อล็อกอินแล้วให้เปลี่ยนเป็นรหัสผ่านใหม่ทันที
Git SSH ใช้พอร์ตอะไร
SSH ของเซิร์ฟเวอร์เองใช้พอร์ต 22 คำสั่งด้านบนจึงเปิด Git SSH ของ GitLab ที่พอร์ต 2222 หากตั้ง gitlab_shell_ssh_port เป็น 2222 ใน gitlab.rb ที่อยู่ SSH ในหน้าคลังโค้ดก็จะแสดงถูกต้อง
ติดใบรับรอง HTTPS อย่างไร
ให้โดเมนชี้ไปที่ IP เซิร์ฟเวอร์ แล้วเปลี่ยน external_url ใน gitlab.rb เป็นที่อยู่ https เปิด letsencrypt แล้วรัน gitlab-ctl reconfigure ใบรับรองจะออกและต่ออายุอัตโนมัติ
วาง GitLab Runner บนเซิร์ฟเวอร์เดียวกันได้หรือไม่
ได้ นำอิมเมจ gitlab/gitlab-runner ขึ้นเป็นคอนเทนเนอร์บนเซิร์ฟเวอร์เดียวกันแล้วลงทะเบียน การ build ใช้ทั้งหน่วยความจำและ CPU จึงแนะนำให้เลือกแพ็กเกจ 16 GB หรือแยก Runner ไว้บนเซิร์ฟเวอร์เล็กอีกเครื่อง
ส่งอีเมลแจ้งเตือนจาก GitLab ได้หรือไม่
ได้ ใส่บริการส่งอีเมลที่ใช้พอร์ต 587 ในการตั้งค่า SMTP ของ gitlab.rb การแจ้งเตือน merge request และ issue ก็จะส่งออกไป เซิร์ฟเวอร์ HELPER VPS ปิดพอร์ต 25 ขาออก จึงส่งด้วยวิธีนี้
อัปเดต GitLab อย่างไร
สร้างแบ็กอัปด้วย gitlab-backup แล้วดึงอิมเมจใหม่ และสร้างคอนเทนเนอร์ใหม่ด้วย volume เดิม เมื่อข้ามเวอร์ชันใหญ่ ให้อัปเกรดผ่านเวอร์ชันกลางตามเส้นทางการอัปเกรดทางการของ GitLab
เมื่อคลังโค้ดมากขึ้นเพิ่มดิสก์ได้หรือไม่
เพิ่มดิสก์เสริมได้ตั้งแต่ 50~1000 GB ตอนสร้างเซิร์ฟเวอร์ หากตั้ง GITLAB_HOME เป็นพาธของดิสก์เสริม ก็เก็บคลังโค้ด registry และแบ็กอัปไว้ในพื้นที่ที่เหลือเฟือ
ซื้อเซิร์ฟเวอร์ GitLab ชำระเงินอย่างไร
เลือกวิธีการชำระเงินและสร้างเซิร์ฟเวอร์เพื่อเริ่มใช้งานทันที ชำระใบแจ้งหนี้ต่ออายุก่อนสิ้นสุดรอบ และการพัฒนาของคุณจะไม่หยุดชะงัก
GitLab เป็นโปรเจกต์โอเพนซอร์สที่สร้างโดย GitLab Inc. และชุมชน สิทธิ์ในชื่อและโลโก้ GitLab เป็นของเจ้าของ การติดตั้ง การอัปเดต การตั้งค่า และการใช้งาน GitLab CE เป็นสิ่งที่ลูกค้าดูแลเอง GitLab CE ใช้ได้โดยไม่มีค่าใช้จ่ายเพิ่ม และค่าเซิร์ฟเวอร์คือราคาของแพ็กเกจที่เลือก
คู่มือเซิร์ฟเวอร์ GitLab
สิ่งที่ควรทำก่อนหลังได้รับเซิร์ฟเวอร์
