====== 安裝 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}}