+7

[Git] Cài đặt GitLab Runner sử dụng môi trường Docker

Mayfest2023

Chào 500 anh em!!!. Lại là mình đây, hôm nay mình chia sẻ với anh em một tips về chủ đề Git+Docker đó là cài đặt GitLab Runner sử dụng môi trường Docker.

Gitlab cho phép chúng ta build image free trên các server của gitlab nhưng có giới hạn thời gian build trong 1 tháng. Nếu nhu cầu build image nhiều thì nên dựng riêng các GitLab Runner để build image đảm bảo và nhanh hơn.

Mục tiêu tips này giúp các bạn:

  • Gitlab runner là gì?
  • Tạo một gitlab runner trong môi trường Docker

Let's go thôi!!!

1. Cài Docker

sudo apt update
sudo apt install -y docker.io

Add ubuntu user to the docker group.

sudo gpasswd -a ubuntu docker

2. Tạo Runner Container

Sau khi cài Docker xong, chúng ta tạo một gitlab-runner container như sau:

docker run -d --name gitlab-runner --restart always \
    -v /srv/gitlab-runner/config:/etc/gitlab-runner \
    -v /var/run/docker.sock:/var/run/docker.sock \
    gitlab/gitlab-runner:v15.8.2

Ở đây image mình lấy vesion v15.8.2 gitlab-runner:v15.8.2 các bạn muốn version mới nhất thì để latest nhé!

Xem thêm một số thông tin về command GitLab Runner tại đây

3. Register một Runner

Để register một runner, các bạn dùng lệnh sau:

docker exec -it gitlab-runner gitlab-runner register

Nhập các thông tin bằng cách vào repo cần chạy CICD: Gitlab UI --> Settings --> CICD và chọn Expand Copy registration token và paste vào terminal Các thông tin cần nhập vào như sau:

  • Nhập URL https://gitlab.com/
  • Nhập token ở trên.
  • Nhập mô tả runner.
  • Gắn tags cho runner có thể để trống
  • Nhập docker.
  • Nhập một image mặc định cho Docker image

Sau khi nhập xong khởi động lại runer

docker restart gitlab-runner

Refresh lại page Gitlab UI --> Settings --> CICD và xem kết quả

4. Hiển thị các runner

Để hiển thị các runner đang chạy các bạn dùng lệnh

docker exec -it gitlab-runner gitlab-runner list

Kết quả hiện thị như sau:

Runtime platform                 arch=amd64 os=linux pid=66 revision=775dd39d version=13.8.0
Listing configured runners                         ConfigFile=/etc/gitlab-runner/config.toml
a9a3dd7b82bd              Executor=docker Token=bxSoZytpPyWZLhB2MQQA URL=https://gitlab.com/
9bad45a61010              Executor=docker Token=AQbMBaySx4qj8236uYFR URL=https://gitlab.com/

5. Stopping, Starting và Restarting Runners

Một số lệnh Stopping, Starting và Restarting Runners

docker exec -it gitlab-runner gitlab-runner stop
docker exec -it gitlab-runner gitlab-runner start
docker exec -it gitlab-runner gitlab-runner restart

6. Huỷ, Xoá Runner

Khi không muốn sử dụng Runner nữa các bạn muốn huỷ hoặc xoá chúng đi thì dùng lệnh sau

docker exec -it gitlab-runner gitlab-runner unregister --name a9a3dd7b82bd
docker exec -it gitlab-runner gitlab-runner verify --delete

7. Configuration File

File cấu hình config.toml được lưu tại /srv/gitlab-runner/config/config.toml trên máy host.

Một vài thông tin các bạn có thể tuỳ chỉnh nếu muôn:

  • log_level
  • log_format
  • concurrent
  • check_interval Cấu hình runners được lưu giống như thế này:
[[runners]]
  name = "a9a3dd7b82bd"
  url = "https://gitlab.com/"
  token = "bxSoZxtpQyWZLhB2LQGA"
  executor = "docker"
  [runners.custom_build_dir]
  [runners.cache]
    [runners.cache.s3]
    [runners.cache.gcs]
    [runners.cache.azure]
  [runners.docker]
    tls_verify = false
    image = "alpine"
    privileged = true
    disable_entrypoint_overwrite = false
    oom_kill_disable = false
    disable_cache = false
    volumes = ["/cache"]
    shm_size = 0

Các bạn đọc thêm tại đây

Video hướng dẫn chi tiết bên dưới:

8. Tổng kết

Có nhiều cách cài một Runner cho dự án. Hi vọng qua bài viết này các bạn có thêm một lựa chọn nữa để cài đặt runner chio dự án của mình.

Chúc các bạn thành công!

Follow các kênh mình chia sẻ

Vibo chia sẻ

Youtube

Blog chia sẻ


All Rights Reserved

Viblo
Let's register a Viblo Account to get more interesting posts.