Gitlab CI/CD 之 Group Runner

更新於 發佈於 閱讀時間約 6 分鐘
raw-image

前言

上次我們教到 GitLab CI/CD 的 artifacts,今天我們要來講一個叫做 Group Runner,什麼是 Group Runner 我們今天待會會講道。

Gitlab Runner 類型

我們可以看到官網文件,Gitlab 提供了三種 Runner 類型,第一種叫 Shared runners,第二種叫 Group runners,第三種叫 Project runners

raw-image

Shared runners: 也就是我們之前看到 Gitlab 提供的那些 Runner

Project runners: 也就是這個 Runner 設定只能在某一個專案跑

Group runners: 也就是說我會開一個群組,如果有些專案是在這群組的,可以共用這些群組上的 Runner

創建群組

接下來我們來創建一個群組,將我們的專案加入進群組,並且創建一個 Group runner,讓我們的專案可以使用群組上的 Runner,首先先點回去到 Gitlab 首頁->點擊 Groups->然後再點擊 New group

raw-image

接下來在點擊 Create group 進去

raw-image

接下來取名好群組名稱後,按下 Create group 按鈕,就可以成功建立群組

raw-image

建立 Group Runner

接下來我們進到 develop 這個目錄裡面有個 Build->Runner 的最右手邊這裡就有我們的註冊 Group runner 之 token

raw-image

接下來我們來建立 Group Runner,建立方法和之前建立 Project runners 很像再次教大家使用 gitlab-runner,首先先輸入以下指令

gitlab-runner register

在來這裡輸入我們要註冊的 Gitlab 網址

Runtime platform                                    arch=amd64 os=linux pid=96 revision=853330f9 version=16.5.0
Running in system-mode.

Enter the GitLab instance URL (for example, https://gitlab.com/):
http://192.168.18.35

接下來我們輸入要註冊的 Group Runner Token

Enter the registration token:
GR1348941o_zySTzw_HbSJnnyzgiN

接下來我們給這個 Group Runner 一個描述說明我們在做甚麼

Enter a description for the runner:
[4cb49c53cf78]: Group Docker Runner

接下來我們給這個 Group Runner 給一個 tag

Enter tags for the runner (comma-separated):
docker

接下來我們看到這個訊息可以跳過,不太重要

Enter optional maintenance note for the runner:

接下來這一個是我們目標要建立什麼樣子的 Group Runner,在這裡我們先輸入 Docker,我們要建立 Docker Group Runner

WARNING: Support for registration tokens and runner parameters in the 'register' command has been deprecated in GitLab Runner 15.6 and will be replaced with support for authentication tokens. For more information, see https://docs.gitlab.com/ee/ci/runners/new_creation_workflow
Registering runner... succeeded runner=GR1348941o_zySTzw
Enter an executor: custom, docker, parallels, virtualbox, docker-autoscaler, instance, kubernetes, docker-windows, shell, ssh, docker+machine:
docker

最後這裡是說我們這個 Runner 啟動時,我們預設先 Pull 哪個 image,在這裡我們先寫上 alpine

Enter the default Docker image (for example, ruby:2.7):
alpine

遷移專案至群組

接下來我們要將我們上次的 .Net Core Web Api 專案,搬進 develop 這個群組

raw-image

拖到底下會看到一個叫 Transfer project 的東西,我們把專案搬移到 develop 群組

raw-image

實戰應用

接下來我們來使用這個 group runner 去實際應用,我們先來用上次的 .Net Core Web Api 專案,去寫一個 CI/CD 腳本,上傳上去看看結果

image: mcr.microsoft.com/dotnet/sdk:6.0

stages:
- testing

unit-tests:
stage: testing
tags:
- groupdocker
script:
- dotnet test DotNetCoreWebApiCiAndCdCourse.Tests > DotNetCoreWebApiCiAndCdCourse.Tests.txt
artifacts:
paths:
- DotNetCoreWebApiCiAndCdCourse.Tests.txt
expire_in: "30 days"
only:
- main
- develop

可以看到我們成功將這個 group runner 啟動應用,也成功將自動化測試做好

raw-image

相關文獻

Gitlab Runner 提供類型



avatar-img
10會員
49內容數
d3.js 圖形
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
Tim Bai的沙龍 的其他內容
前言 上次我們教到 Gitlab-Runner 註冊與 tags 使用,今天我們要教 Gitlab CI/CD 中的 artifacts,這可以幫助我們在 CI/CD 過程中,達到一個報告效果。我們這次在文章的最下方會提供我用 C# .Net Core Web Api 寫好的範本,供給大家使用,大
前言 上次我們已經架好 Gitlab 與 Gitlab-Runner 主機,今天我們要教大家如何使用 Gitlab-Runner 註冊一個 Runner,並使用 tags 這個 script,使用我們的 runner 運作 上版 CI_CD_DEMO 專案 我們先將之前的 CI_CD_DEMO
前言 這上次我們講到如何自架 Gitlab 與 Gitlab-Runner 主機,今天我們來做一個細節調整,調整 gitlab-runner 可以直接跑 Docker 中的 shell,這樣我們就可以不用在下載 docker 的 image 去跑我們的 docker。 查詢 gitlab-run
前言 上次我們講到 Gitlab 的 Excutor 種類,今天我們要來教更經典的自架 Gitlab 與 Gitlab-Runner 主機,Gitlab 有兩個版本,一個是社群版,另一個是企業版,我們這次用 Docker 來安裝 Gitlab 社群版,快速安裝完成 Gitlab,另一方面這樣子的話
前言 上次我們講到 Gitlab 與 Docker 之間關係,上次還沒講 Executor 有哪些小的 Executor,今天我們來把 Executor 補完。 Executor 類型 在 Gitlab CI/CD 中,有提供多種 Executor,可以到 Gtilab 官網有說明 Execu
前言 上次交到 Runner 與 Executor 運作方式,今天要來講 Gitlab 與 Docker 之間運作,我們來了解一下,Gitlab 是怎麼幫我們這些指令,之後在自動化佈署的章節會使用到,實現更又效率的佈署。 Gitlab Runner 運作 在這裡你會看到特別的名詞,像是 git
前言 上次我們教到 Gitlab-Runner 註冊與 tags 使用,今天我們要教 Gitlab CI/CD 中的 artifacts,這可以幫助我們在 CI/CD 過程中,達到一個報告效果。我們這次在文章的最下方會提供我用 C# .Net Core Web Api 寫好的範本,供給大家使用,大
前言 上次我們已經架好 Gitlab 與 Gitlab-Runner 主機,今天我們要教大家如何使用 Gitlab-Runner 註冊一個 Runner,並使用 tags 這個 script,使用我們的 runner 運作 上版 CI_CD_DEMO 專案 我們先將之前的 CI_CD_DEMO
前言 這上次我們講到如何自架 Gitlab 與 Gitlab-Runner 主機,今天我們來做一個細節調整,調整 gitlab-runner 可以直接跑 Docker 中的 shell,這樣我們就可以不用在下載 docker 的 image 去跑我們的 docker。 查詢 gitlab-run
前言 上次我們講到 Gitlab 的 Excutor 種類,今天我們要來教更經典的自架 Gitlab 與 Gitlab-Runner 主機,Gitlab 有兩個版本,一個是社群版,另一個是企業版,我們這次用 Docker 來安裝 Gitlab 社群版,快速安裝完成 Gitlab,另一方面這樣子的話
前言 上次我們講到 Gitlab 與 Docker 之間關係,上次還沒講 Executor 有哪些小的 Executor,今天我們來把 Executor 補完。 Executor 類型 在 Gitlab CI/CD 中,有提供多種 Executor,可以到 Gtilab 官網有說明 Execu
前言 上次交到 Runner 與 Executor 運作方式,今天要來講 Gitlab 與 Docker 之間運作,我們來了解一下,Gitlab 是怎麼幫我們這些指令,之後在自動化佈署的章節會使用到,實現更又效率的佈署。 Gitlab Runner 運作 在這裡你會看到特別的名詞,像是 git
你可能也想看
Google News 追蹤
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
今天參加了Google的Conference,我深刻體會到一個好的團隊協作方式是如何形成的,這也是Google企業文化的一部分。 其中講者分享了軟硬體團隊合作的經驗,提到團隊間的合作應該以共同解決問題為目標,而不是僅僅各自做好自己的部分。
Thumbnail
用Google AI查了一下團媽的一天,出現以下的結果: 「團媽的一天大致可分為以下幾個階段:  早上:    * 查看各社群團購群組的訊息,了解最新商品資訊和團購活動。    * 挑選要開團的商品,並與廠商聯繫確認細節。    * 在社群團購群組發布團購訊息,宣傳商品和招募團員。
Thumbnail
在這篇文章中,我們將介紹工作與以前念書時期在開發流程上的差異,並深入瞭解CI/CD、Travis CI以及加解密的應用。 CI/CD是自動化的軟體開發實踐,而加解密則是保護機密資料安全的重要技術。
Thumbnail
當開始找人揍對的時候,我想的當然是先從比較熟識的人下手,當然最好是會跑步。手機通訊錄開始一輪撥號。 NO1 : 代號D 關係 : 5顆星,同學 我:我跟你說,你知道有一個跑步比賽,是接力賽,他叫追火車,我想問你願不願意跟我一起組隊去跑嗎? D:那是啥比賽 我:就是跑馬拉松,只不過是7個
CI 持續整合 CI目的是建立自動化專案打包。 CD 持續發表 將打包完成的專案,自動發布。
Thumbnail
本文將介紹如何在Gitlab上部署和註冊runner,以進行CI/CD測試。透過Docker-compose方式進行部署,同時注意安裝時的一些注意事項。建議學習者至少掌握一種以上的Pipeline工具,以滿足實務上的需求。
Thumbnail
在本篇文章中,將會設定 Cloud Run,以便每當將程式修改並推送到 GitHub 時,它都會使用 Cloud Build 自動構建和部署應用程序的最新版本。
Thumbnail
本文將介紹Gitlab與GitHub的差異,以及在本地環境部署Gitlab的流程與實作。文章內容包括版本管理系統的選擇,Gitlab的基本功能,以及使用Docker進行部署的詳細步驟。
※ Git(三) 什麼是 staging area? 在 Git 中,staging area是暫存區的意思,也被稱為索引(index)。透過一個git add 指令把檔案從工作目錄移至暫存區。再透過一個git commit 指令把暫存區的內容移至儲存庫。 當多人協作時你要開發個功能,但不
Thumbnail
最近幾年,住家的社區附近出現了各種團購商店。A團距離我家騎車10分鐘,前年經由朋友推薦入的群,是我第一個接觸到的社區團購;B團騎車5分鐘,地點就在社區醫院的旁邊,因為家人固定回診,取貨方便而入的群;而C團就在我家樓下,走出社區左轉10秒鐘,起初只是為了讓我媽獲得比價的趣味而把她加入社團……
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
今天參加了Google的Conference,我深刻體會到一個好的團隊協作方式是如何形成的,這也是Google企業文化的一部分。 其中講者分享了軟硬體團隊合作的經驗,提到團隊間的合作應該以共同解決問題為目標,而不是僅僅各自做好自己的部分。
Thumbnail
用Google AI查了一下團媽的一天,出現以下的結果: 「團媽的一天大致可分為以下幾個階段:  早上:    * 查看各社群團購群組的訊息,了解最新商品資訊和團購活動。    * 挑選要開團的商品,並與廠商聯繫確認細節。    * 在社群團購群組發布團購訊息,宣傳商品和招募團員。
Thumbnail
在這篇文章中,我們將介紹工作與以前念書時期在開發流程上的差異,並深入瞭解CI/CD、Travis CI以及加解密的應用。 CI/CD是自動化的軟體開發實踐,而加解密則是保護機密資料安全的重要技術。
Thumbnail
當開始找人揍對的時候,我想的當然是先從比較熟識的人下手,當然最好是會跑步。手機通訊錄開始一輪撥號。 NO1 : 代號D 關係 : 5顆星,同學 我:我跟你說,你知道有一個跑步比賽,是接力賽,他叫追火車,我想問你願不願意跟我一起組隊去跑嗎? D:那是啥比賽 我:就是跑馬拉松,只不過是7個
CI 持續整合 CI目的是建立自動化專案打包。 CD 持續發表 將打包完成的專案,自動發布。
Thumbnail
本文將介紹如何在Gitlab上部署和註冊runner,以進行CI/CD測試。透過Docker-compose方式進行部署,同時注意安裝時的一些注意事項。建議學習者至少掌握一種以上的Pipeline工具,以滿足實務上的需求。
Thumbnail
在本篇文章中,將會設定 Cloud Run,以便每當將程式修改並推送到 GitHub 時,它都會使用 Cloud Build 自動構建和部署應用程序的最新版本。
Thumbnail
本文將介紹Gitlab與GitHub的差異,以及在本地環境部署Gitlab的流程與實作。文章內容包括版本管理系統的選擇,Gitlab的基本功能,以及使用Docker進行部署的詳細步驟。
※ Git(三) 什麼是 staging area? 在 Git 中,staging area是暫存區的意思,也被稱為索引(index)。透過一個git add 指令把檔案從工作目錄移至暫存區。再透過一個git commit 指令把暫存區的內容移至儲存庫。 當多人協作時你要開發個功能,但不
Thumbnail
最近幾年,住家的社區附近出現了各種團購商店。A團距離我家騎車10分鐘,前年經由朋友推薦入的群,是我第一個接觸到的社區團購;B團騎車5分鐘,地點就在社區醫院的旁邊,因為家人固定回診,取貨方便而入的群;而C團就在我家樓下,走出社區左轉10秒鐘,起初只是為了讓我媽獲得比價的趣味而把她加入社團……