Gitlab Runner
本文講述 Gitlab Runner 的各種類別與建立使用方法!!
GitLab CI/CD 的 Runner 是藉由另一台電腦去執行 CI/CD 動作完後再回傳給 GitLab 資訊
自架 Gitlab 要使用到 Gitlab CI/CD 功能需安裝 Git-runner 到一台 Server or Container 下去做使用
Install GitLab Runner | GitLab
Gitlab Runner 有三種不同的權限 :
- Shared runners:可用於 GitLab 實例中的所有組和項目。
- Group runners:可用於小組中的所有項目和子小組。
- Specific runners:與特定的項目相關聯。通常,特定的運行器一次用於一個項目。 當你沒有管理 runner 的權限時,可以用這個來建立屬於自己的 gitlab runner
-
Shared runners (適用範圍 GitLab 上全部的 Groups 與 Projects )
因為是全域 Runner 所以需要 admin 帳戶來創建 Runner
Admin Area -> CI/CD -> Runner -> Register an instance runner -> Show runner installation and registration instuctions
到你安裝 GitLab runner 的地方照著 Command to register runner 執行 \Ex:(windows) .\gitlab-runner.exe register --url <GitLab_Url> --registration-token <admin_registration_token>
有看到以下代表成功 現在你創新的專案都可以看到這個 Runner
-
Group runners (這邊建立的是 Group 下所有的 Projects 皆可使用這個 runner) Select your group -> CI/CD -> Runners -> Register an instance runner -> Show runner installation and registration instuctions
到你安裝 GitLab runner 的地方照著 Command to register runner 執行 \Ex:(windows) .\gitlab-runner.exe register --url <GitLab_Url> --registration-token <admin_registration_token>
有看到以下代表成功 現在你創新的專案都可以看到這個 Runner
-
Specific runners (專門給某個 Project 去做使用)
先到 project 下 CI/CD -> Jobs -> Creata CI/CD configuration file
之後你就能在你的 Project 下看到多了一個 .gitlab-ci.yml 這個就是用來跟 GitLab Runner 你這專案什麼時候會觸發 CI/CD 並且該做什麼動作等等… 在 Server 中安裝完 GitLab 之後到 Project -> settings -> CI/CD -> Runners 跟著指令下就可以連結起 Gitlab Runner 跟 GitLab 兩者了 連接好之後就能看到下面會有多一個 Assigned project runners 這樣就代表有連結成功了
register 連接說明 :
Enter the GitLab instance URL (for example, https://gitlab.com/):
輸入 GitLab-Url
Enter the registration token:
輸入 admin-registration-token
Enter tags for the runner (comma-separated):
你 CI/CD 是哪個 Tag 才能使用它
Enter optional maintenance note for the runner:
runner 說明
Enter an executor: virtualbox, docker-autoscaler, instance, kubernetes, custom, docker-windows, shell, ssh, docker, parallels, docker+machine:
輸入你要使用的類型
遇到問題:
-
無法執行沒有 Tag 的 CI/CD
先進到 Runner 設定 Run untagged jobs 打勾 -
Runner 架在 Windows 無法順利執行 Runner
需修改 GitLab-Runner 資夾下的 config.toml 檔
“pwsh” -> “powershell”
Reference:
Day04 - GitLab CI 設計出自己的工作流程 - 流水線分析建立 .gitlab-ci.yml 概述
Day 28 GitLab Runner - 安裝起來分配工作吧!
gitlab-runner: prepare environment failed to start process pwsh in windows - Stack Overflow