$ brew cask install docker
$ open /Applications/Docker.app
首先要開始註冊 Gitlab CI Runner 在註冊前要先知道自己 Gitlab CI 的 Runner token
Homebrew是一款自由及開放原始碼的軟體套件管理系統,用以簡化macOS系統上的軟體安裝過程,最初由馬克斯·霍威爾寫成。因其可延伸性得到了一致好評,而在Ruby on Rails社群廣為人知。 Homebrew使用GitHub,通過用戶的貢獻擴大對軟體包的支援。 (維基百科)
Gitlab提供3種Runner權限
What's types of GitLab runner? 1. Shared Runner 2. Group Runners 3. Specific Runner
Shared Runner
當數個專案的 CI/CD job 都有相同的需求,可以節省為了每一個專案各開一個 Runner ,而導致可能性的閒置。Runner 會根據 Project 正在運行的 job 來挑選接下來要運行的 job ,可避免有某個 Project 過量的 job 導致其他 project 的 job 無法執行。
如果是全repo共用的token要進入admin頁面並且選Runners頁面,就能找到你網站對應的URL與token。
Group Runners
該 Group 下的所有 Project 皆有此 Runner 的權限。採用 FIFO 來處理 jobs。
Specific Runner
當組織中的多個專案 CI/CD job 需求的環境差很多時,需要採用這個來確保環境的隔離。此 Runner 採用 FIFIO 來處理 jobs。
假如是要註冊對特定repo使用的runner則是進入repo後點選 Setting -> CI/CD 然後點選頁面的Runner
有了URL及token就能開始註冊runner
$ docker volume create gitlab-runner-config
2. 啟動服務並且連接到剛建立的 Docker Volume
$ docker run -d --name gitlab-runner --restart always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v gitlab-runner-config:/etc/gitlab-runner \
gitlab/gitlab-runner:latest$ docker run --rm -it -v gitlab-runner-config:/etc/gitlab-runner gitlab/gitlab-runner:latest register
$ Please enter the gitlab-ci coordinator URL
可在 Project (sidebar) -> Settings -> Runners -> "Set up a specific Runner manually" 的第二項
2. 輸入 Gitlab-ci 的 token
$ Please enter the gitlab-ci token for this runner
同上的第三項
3. 輸入你想在 Gitlab 呈現的 runner 說明/名稱
$ Please enter the gitlab-ci description for this runner
4. 輸入 此Runner相關的tag
$ Please enter the gitlab-ci tags for this runner (comma separated):
5. 輸入Runner的啟動
$ Please enter the executor: ssh, docker+machine, docker-ssh+machine, kubernetes, docker, parallels, virtualbox, docker-ssh, shell:
可依照個人需求修改(多以 Docker 為例,因為 Docker 能做的事情非常多),一般輸入 "docker"。
6. 輸入你打算使用的 Default docker image
$ Please enter the Docker image (eg. alpine:latest):
如果上個問題是寫Docker,就會出現這個問題,
此設定為當gitlab-ci沒有指定要使用哪個Docker image執行的話,預設要用哪個Docker image。
此Docker image預設會從 Docker hub下載,也可以在 project 的.gitlab-ci.yml 自行設定 image。
$ Runner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded!
完成上面步驟就會自動連到 gitlab 網站。