มาลง Gitlab-runner ไว้ใช้เองกัน

TAeng Trirong Pholphimai
Nellika
Published in
3 min readNov 22, 2020

--

Gitlab Runner

บทความนี้จะพาลง Gitlab ของ macOS นะครับ

ความเดิมตอนที่แล้ว

บทความนี้ จะพาทุกคนมาลง Gitlab-runner ไว้ใช้เองกันครับ ตอนที่แล้วเราได้ทำ CI/CD บน Gitlab กันไปแล้ว

แล้ว Gitlab runner มันคืออะไรกันน่ะ?

Gitlab Runner คืออะไร

GitLab Runner เป็นเหมือนบริการ Delivery บน Gitlab ที่คอยรับคำสั่งจาก Gitlab ให้วิ่งจัดส่งงานตามรายการคำสั่งที่เขียนไว้ในไฟล์ .gitlab-ci.yml

โดยบน gitlab.com ก็มีให้ใช้ free อยู่แล้ว แต่ปัจจุบันจำกัดอยู่ที่ 400 นาที ต่อเดือน

Plan Gitlab Runner

พอเอามาใช้งานจริงๆใน project มันก็คงไม่พอ

ซึ่งตัว Gitlab runner ก็สามารถติดตั้งบนเครื่องตัวเองหรือเซิร์ฟเองได้

เริ่มกันเลย!!!

ติดตั้ง Gitlab Runner บน macOS

1. ติดตั้ง Homebrew (หากมี Homebrew แล้วไปข้อ2 ได้เลย)

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

2. ติดตั้ง Gitlab Runner

brew install gitlab-runner

3. รัน Service Gitlab Runner

brew services start gitlab-runner

ทีนี้มาลองเช็ก version gitlab-runner กัน

gitlab-runner --version
Ex. เมื่อใช้คำสั่ง gitlab-runner — version

ok ทีนี้ก็เราลง gitlab runner เสร็จแล้ว ขั้นตอนไปมาเชื่อมกับ Project บน Gitlab กัน

เชื่อม Gitlab Runner กับ Project บน Gitlab

  1. ไปที่ Settings CICD

ไปที่ https://gitlab.com/{{username}}/{{repo}}/-/settings/ci_cd

Ex. Gitlab Settings CI_CD

โฟกัสที่ Set up a specific Runner manually

Ex. Set up a specific Runner manually

จะมี token สำหรับเชื่อม Gitlab Runner กับ Project

2. Register Gitlab runner

gitlab-runner register

เมื่อพิมพ์คำสั่ง gitlab-runner register เสร็จ จะมีคำถามตามนี้

(Copy ได้จาก Set up a specific Runner manually ข้อ2)
Enter the GitLab instance URL (for example, https://gitlab.com/):
https://gitlab.com/

(Copy ได้จาก Set up a specific Runner manually ข้อ3)
Enter the registration token:
zoHyfHs-Uzf9VieVw5hd

(กำหนด Description ของ runner)
Enter a description for the runner:
runner v1

(กำหนด Tags ของ runner)
Enter tags for the runner (comma-separated):
RunnerV1

(เลือก Executor ในนี้เลือก docker)
Enter an executor: docker, docker-ssh, shell, virtualbox, docker-ssh+machine, custom, parallels, ssh, docker+machine, kubernetes:
docker

(กำหนด Default Docker Image)
Enter the default Docker image (for example, ruby:2.6):
node:14-alpine

หากสำเร็จจะแสดงข้อความนี้
Runner registered successfully. Feel free to start it, but if it’s running already the config should be automatically reloaded!

Ex. Gitlab Runner Register Success

กลับมาที่ https://gitlab.com/{{username}}/{{repo}}/-/settings/ci_cd

โฟกัสที่ Runners activated for this project ตอนนี้ Gitlab Runner ได้เชื่อมกับ Project เราแล้ว

3. เพิ่ม .gitlab-ci.yml ใน Project

line 1 กำหนด image docker ในนี้จะเป็น node:14-alpine
line 3–4 กำหนด stages ในนี้จะเป็น test_gitlab_ci
line 6–11 จะเป็นการกำหนด job ว่าให้ทำอะไรบ้าง
line 7 เชื่อมกับ stag ในนี้จะเป็น test_gitlab_ci
line 8–9 ใช้ tags runner ที่เรา register ไว้ ในนี้จะเป็น RunnerV1
line 10–11 กำหนด script ที่ให้ runner ทำ ในนี้จะเป็น node -v (เช็ก version node)

คำสั่งอื่นๆ อ่านต่อด้านล่างนี้เลย

Commit & Push code ขึ้น gitlab

git add .//พิมพ์คำสั่ง
git commit -m "{{comment commit}}"//พิมพ์คำสั่ง
git push origin master

ไปที่ https://gitlab.com/{{username}}/{{repo}}/pipelines

Ex. Pipelines

กดที่ stages test_runner

Ex. Job test_runner Success
Ex. job test_runner

--

--