====== 安裝 GitLab Runner 方式 ======
===== Ubuntu 24.04 =====
- 下載最新版本的 GitLab Runner
sudo curl -L --output /usr/local/bin/gitlab-runner "https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-amd64"
- 賦予執行權限
sudo chmod +x /usr/local/bin/gitlab-runner
- 創建 GitLab Runner 用戶
sudo useradd --comment 'GitLab Runner' --create-home gitlab-runner --shell /bin/bash
- 安裝並啟動服務
sudo gitlab-runner install --user=gitlab-runner --working-directory=/home/gitlab-runner
sudo gitlab-runner start
- 驗證安裝
gitlab-runner --version
===== 將 Runner 加入 GitLab =====
- 進入 GitLab Admin 介面 -> CI/CD -> Runner -> Create Instance Runner \\ {{:tech:螢幕擷取畫面_2025-11-06_063917.png?800|}}
- 輸入 Tag Exp. docker , 勾選 Run untagged job \\ {{:tech:螢幕擷取畫面_2025-11-06_064133.png?600|}}
- 點下 Create Runner 後, 選 Platform Exp. Linux , 依據以下 Step1 的 CLI 到 Runner 主機執行 Exp.
gitlab-runner register --url https://gitlab.ichiayi.com --token glrt-7xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxKdToyCw.01.120st7l4l
- 等一下點選 Runner 如果沒問題就會出現剛剛建立的 Runner
===== 設定可執行 Docker in Docker =====
* 因為 Kaniko 已經不再維護, 改用需要設定 Privileged 的 BuildKit
* 如果使用 BuildKit 沒有設定 Privileged 執行 docker build 時會出現類似以下的錯誤訊息
mount: permission denied (are you root?)
Could not mount /sys/kernel/security.
AppArmor detection and --privileged mode might break.
* 編輯 /etc/gitlab-runner/config.toml
:
[[runners]]
:
executor = "docker"
:
[runners.docker]
tls_verify = false
image = "docker:27-cli"
privileged = true
disable_entrypoint_overwrite = false
oom_kill_disable = false
disable_cache = false
volumes = ["/cache", "/certs/client"]
shm_size = 0
network_mtu = 0
* 重新啟動 Runner
sudo systemctl restart gitlab-runner
* 查看 Runner 狀態
sudo gitlab-runner status
* 驗證配置
sudo gitlab-runner verify
{{tag>gitlab}}