ติดตั้ง GitLab Server บน Ubuntu 18.04

Prawit Tangmanopeanchai
3 min readJul 20, 2019

--

20/7/19

วันนี้ตั้งใจจะสร้าง gitlab server ขึ้นมาเอาไว้ใช้เก็บ configuration ของ server ตอนแรกคิดว่าจะใช้แค่ git server ก็พอ แต่คิดไปคิดมา ใช้ gitlab server น่าจะดีกว่าเพราะมี web-based interface ให้ด้วย (ง่ายดี)
ก่อนจะเริ่มติดตั้งก็มาทำความรู้จักกันก่อนว่า gitlab มีกี่ edition

Gitlab CE (Community Edition) — self-hosted, free and support from the Community forum.
Gitlab EE (Enterprise Edition) — self-hosted, paid app, comes with additional features.
GitLab.com — SaaS, free.
GitLab.io — Private GitLab instance managed by GitLab Inc.

(ขออนุญาตลอกมาเลยโดยไม่แปล)
โดยในที่นี่เราจะลงโดยใช้ GitLab CE

ความต้องการของเครื่อง
OS : Ubuntu 18.04 Server
RAM อย่างน้อย 4GB
Root privileges

อีกนิด

ก่อนจะสร้างเครื่องเพื่อใช้จริง ควรมีการตั้ง domain name ของเครื่องเอาไว้ก่อน แล้วนำไปใส่ไว้ใน file “/etc/gitlab/gitlab.rb” ในค่า “external_url”

ถึงคราวเริ่มลงกันแล้ว
ในที่นี้สร้างเครื่อง server โดยใช้ compute engine ของ GCP (Google Cloud Platform) โดยเลือก OS เป็น Ubuntu 18.04 เลยข้ามขั้นตอนการติดตั้ง OS ไปได้เลย
จากนั้นก็ทำการ update และ upgrade packages กันก่อนด้วยคำสั่ง

sudo apt update
sudo apt upgrade -y

จากนั้นก็ติดตั้ง pre-requisite software ที่ GitLab ต้องการใช้ลงไปก่อน โดยใช้คำสั่ง

sudo apt install curl openssh-server ca-certificates postfix -y

ระหว่างที่ติดตั้ง postfix จะมีหน้าต่างขึ้นมา

ในที่นี้เราจะใช้แค่ภายในของเราเองเท่านั้นไม่มีการส่ง หรือรับ mail จาก internet จึงใส่เป็น “local only”

จากนั้นให้ใส่ชื่อ server ของ gitserver ของเราลงไป

จากนั้นเราก็พร้อมที่จะติดตั้ง gitlab กันแล้ว

เราจะติดตั้ง gitlab โดยใช้ packages ของ omnibus จึงต้องทำการติดตั้ง packages ที่ทาง omnibus ต้องการก่อนโดยใช้คำสั่ง

curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash

จากนั้นก็ติดตั้ง gitlab ได้เลยโดยใช้คำสั่ง

sudo apt install gitlab-ce -y

เสร็จแล้วเราจะได้หน้าจอตามนี้

ในตอนนี้เราจะทำ gitlab แบบง่าย ๆ ขึ้นมาใช้ เลยไม่ได้ทำให้เป็น https จึงยังไม่มีการ config ค่า SSL ใด ๆ ก็จะทำการ config gitlab โดยไม่มีการแก้ไขใด ๆ

ให้ run คำสั่ง

sudo gitlab-ctl reconfigure 

คำสั่งนี้จะทำการติดตั้ง service และ config gitlab ขึ้นมาให้ จากนั้น gitlab ของเราก็พร้อมให้บริการแล้ว

ให้เปิด browser แล้วเรียก url ไปที่เครื่อง gitlab server ของเรา จะได้หน้าจอดังนี้

โดยเริ่มแรกระบบจะให้เราทำการกำหนด root password ของ gitlab ก่อน ก็ให้เราใส่ password ที่ต้องการลงไป

จากนั้นก็ log in โดยใช้ user “root” และ password ที่เราเพิ่งตั้งลงไป ก็จะได้หน้าจอตามนี้

เป็นอันว่าถึงตอนนี้เรามี gitlab พร้อมใช้งานแล้ว 😄

ทดสอบการใช้งานโดยเริ่มจากการสร้าง project ขึ้นมาก่อนโดยการกดปุ่มที่เป็นเครื่องหมาย “+” แล้วเลือก new project

จากนั้นให้ทำการตั้งชื่อของ project เช่น MyFirstProject

แล้วกด “Create project” จะได้หน้าจอตามนี้

ซึ่งหน้านี้จะบอกถึงวิธีเข้าใช้งานทั้งหมด

เวลาจะ push file เข้าไปใน git แล้วไม่ให้ถาม user/password ทุกครั้ง ให้ทำการ gen ssh-key จากเครื่องที่ใช้แล้วเข้าไป add ใน gitlab ด้วย โดยวิธีสร้างให้ไปที่ command line แล้วใช้คำสั่ง “ssh-keygen” แล้วนำค่าใน file “id_rsa.pub” มาใส่ที่หน้านี้

อ้างอิงเอกสารจาก :

เวลาจะ invite user/group เข้า project ให้เลือกไปที่ project -> settings -> members แล้วเลือก user/group ที่ต้องการ โดยสามารถกำหนด role ได้โดยดูว่า role แต่ละ role มีสิทธิอะไรบ้างได้จาก

url “ http://<server name>/help/user/permissions

--

--

Prawit Tangmanopeanchai
Prawit Tangmanopeanchai

Written by Prawit Tangmanopeanchai

Head of Cloud Implementation Unit at gosoft (Thailand)

No responses yet