Skip to main content

GitLab Setup


title: GitLab Setup summary: ตั้งค่า GitLab สำหรับ pipeline scope: workflow status: active applies_to: ["linux", "gitlab"]​

Container Registry

Container registry เปรียบเสมือนบ้านเลขที่ของโกดังที่ให้เก็บไฟล์ Docker Image เราสามารถ Reuse โดยการเก็บ Image ย่อยของ Service ต่างๆได้โดยการใส่ [registry url]/[subgroup-name]/[service-name] ได้ หลังจากมีการ Push image เข้ามาแล้ว ตัว registry จะทำการจัดหมวดของ image ตามชื่อและตาม tag ของ image นั้นๆ

PSU GitLab​

การ Deploy ด้วย Docker จะได้ Docker Image ซึ่งจะต้องมีสถานที่สำหรับเก็บ Image ที่สามารถติดตาม version ได้ Application ที่ถูกพัฒนาภายใต้สำนักนวัตกรรมดิจิทัลฯ จะต้องใช้ PSU GitLab โดยมีขั้นตอนดังนี้

Step1: Sign in GitLab​

เข้าสู่ระบบ PSU GitLab (https://gitlab.psu.ac.th) ด้วย PSU Passport

Step2: Create Group​

สร้าง Group เป็นเหมือนการสร้าง Workspace ที่จะใช้เก็บ Project ต่างๆให้อยู่ร่วมกัน มีการแชร์กันของสมาชิกกลุ่ม สามารถเข้าถึงได้ ไม่ต้องจัดการเพิ่มสมาชิกเข้าโปรเจคทุกครั้ง เช่น กลุ่มของทะเบียนนักศึกษาใช้สำหรับการเก็บ Project ทั้งหมดที่เก็บกับบริการนักศึกษาและจะมีสมาชิกทีมเป็น Member ภายใน group หากมีการสร้างกลุ่มไว้แล้ว สามารถข้ามขั้นตอนนี้ไปยังขั้นตอนที่ 4 สร้าง Project ได้เลย ขั้นตอนการสร้างกลุ่มมีดังนี้

การสร้าง Gitlab group
การสร้าง group
  1. ไปที่เมนู Groups ที่แถบซ้ายมือของหน้าแรก กดปุ่ม Create group

  2. กรอกชื่อทีมหรือกลุ่ม กำหนดการมองเห็น ขึ้นกับการใช้งานเช่น การพัฒนาทั่วไปให้ตั้งเป็น Private หรือถ้าต้องการให้บุคคลอื่นมองเห็นได้จะต้องตั้งเป็น Public

  3. กำหนดสมาชิกทีมหรือกลุ่ม สามารถทำภายหลังได้

Step3: Add member​

ในขั้นตอนการสร้างกลุ่มสามารถเพิ่มสมาชิกทีมระหว่างขณะการสร้างกลุ่ม และสามารถเพิ่มในภายหลังได้ที่เมนู Group Information > Members

ระบบจะ suggest เฉพาะผู้ที่เคยเข้าสู่ระบบ PSU GitLab แล้วเท่านั้น ถ้าจ้องการเพิ่มท่านอื่นที่ไม่เคยเข้าจะต้องกรอกเป็น Email address เท่านั้น

การสร้าง Gitlab group
การเพิ่มสมาชิก group

Step4: Create Project​

Create Project
สร้าง Project ภายใน Group

สร้าง Project ใหม่โดยการกดปุ่ม New Project ที่หน้า Group ที่ได้สร้างไว้และเลือก Create blank project ในขั้นตอนนี้เราจะสร้าง Project เปล่าไว้สำหรับเก็บ Image อย่างเดียว

Step5: Get container repository URL​

Container registry URL
Container registry URL

หลังจากสร้าง Project ใหม่เสร็จแล้วจะได้ Container Registry สำหรับการเก็บ Docker Image ของ Application นั้นๆอยู่ที่เมนู Package and registries > Container Registry จะได้ URL ที่อยู่ของ Image repository สำหรับการส่ง Docker Image ที่ได้จากการ publish มา ซึ่งในขั้นตอนการ Publish ด้วย Docker จะบังคับใส่ที่อยู่ดังกล่าว เมื่อ Visual Studio Publish เสร็จสิ้น Visual Studio จะทำการ Push image มาที่ URL ดังกล่าวให้โดยอัตโนมัติ

Container registry URL จะประกอบไปด้วย registry.in.psu.ac.th/[ชื่อ Group]/[ชื่อ project] โดยการเว้นกรรคจะถูกแทนที่ด้วย - (ขีดกลาง)