GitLab คือ Git Hosting (Remote Repository) ที่ใช้จัดการ Git Repository และยังสามารถจัดการ CI/CD (Continuous integration and Continuous delivery) ได้อีกด้วย
ความสามารถของ GitLab
- จัดการ Project หรือ Repository
- Graph, Charts สำหรับ Project หรือ Repository
- List, Boards สำหรับ Issue
- Pipeline, Jobs, Schedules, Environments สำหรับ CI/CD
เหตุผลที่เลือกใช้ Gitlab ทำ CI/CD
1. เป็น Private repository บน Cloud
2. รองรับการพัฒนา Project แบบ CI/CD โดย Gitlab จะให้เราเขียน Pipeline ของแต่ละ Repo ในรูปแบบ .yml
และเก็บ code นี้ไว้ในตัว git repository เลย
3. มีระบบ Private docker registry สามารถนำ Docker image มาวางบน Gitlab ได้เลย
4. มีระบบ Private snippet สำหรับเก็บ code หรือค่าการใช้งานต่างๆ แบบ private
5. มีระบบ Wiki สำหรับเก็บเอกสารข้อมูลวิธีการต่างๆ ได้
6. มีระบบ Secrets management ใช้เก็บรหัสผ่านหรือ Token ต่างๆ สำหรับให้โปรแกรมมาเรียกไปใช้งาน
7. สามารถเก็บค่า sshkey ไว้ใช้ตอน deploy ไปเซิฟเวอร์ผ่าน pipeline ได้
8. มีระบบ Issue board (Scrum board) สามารถสร้าง issue แล้ว tracking เป็น branch ต่างๆ ได้ ช่วยให้การบริหารจัดการโปรเจ็คง่ายขึ้น
9. มีระบบ Milestones ในการทำ Agile sprints ช่วยแบ่งกลุ่ม Issue ได้ว่า Issue ไหนทำวันไหนถึงวันไหน จะจบภายในวันไหน
การจัดการ Project ด้วย Gitlab ผ่าน Sourcetree
1. สมัคร Gitlab เข้าไปที่ https://gitlab.com/users/sign_up โดยสามารถสมัครฟรีได้เลย
2. สร้าง Project โดยใน Gitlab จะใช้คำว่า project แทน repository
.png)
เมื่อสร้างแล้วจะได้หน้าจัดการ Project ดังนี้

3. ติดตั้งโปรแกรม Sourcetree

4. ที่หน้าจัดการ Project ใน Gitlab ให้กด Clone และ Copy ค่าในช่อง Clone with HTTPS

5. ที่โปรแกรม Sourcetree ให้กด New และเลือก Clone from url

ใส่ค่า Url ที่ Copy จาก Gitlab ที่ช่อง Source Url ของ Sourcetree และกด Clone

6. เท่านี้เราก็สามารถจัดการ Project ด้วย Gitlab ผ่าน Sourcetree ได้แล้ว
