มาลง 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 นาที ต่อเดือน
พอเอามาใช้งานจริงๆใน 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
ok ทีนี้ก็เราลง gitlab runner เสร็จแล้ว ขั้นตอนไปมาเชื่อมกับ Project บน Gitlab กัน
เชื่อม Gitlab Runner กับ Project บน Gitlab
- ไปที่ Settings CICD
ไปที่ https://gitlab.com/{{username}}/{{repo}}/-/settings/ci_cd
โฟกัสที่ 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!
กลับมาที่ 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
กดที่ stages test_runner