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
留言分享你的想法!
avatar-img
Tim Bai的沙龍
10會員
49內容數
d3.js 圖形
Tim Bai的沙龍的其他內容
2024/05/11
前端 為了實驗我們上傳的 Docker Image 有沒有問題,我們先在學一個刪除本地 Docker Image,刪除 Docker Image 要使用 docker rmi <image> 這個語法,現在開始刪除本地 Docker Image 輸入以下指令 docker rmi timmmmm
Thumbnail
2024/05/11
前端 為了實驗我們上傳的 Docker Image 有沒有問題,我們先在學一個刪除本地 Docker Image,刪除 Docker Image 要使用 docker rmi <image> 這個語法,現在開始刪除本地 Docker Image 輸入以下指令 docker rmi timmmmm
Thumbnail
2024/02/18
前言 大家好上次我們教了如何建立自己的 Docker Image,今天我們要來教怎麼把自己做好的 Docker Image 上傳到 Docker Hub,如果以後自己在公司有搭建 Docker Registry,也可以用同樣方式上傳到公司的 Docker Registry 私有倉庫 登入 Doc
Thumbnail
2024/02/18
前言 大家好上次我們教了如何建立自己的 Docker Image,今天我們要來教怎麼把自己做好的 Docker Image 上傳到 Docker Hub,如果以後自己在公司有搭建 Docker Registry,也可以用同樣方式上傳到公司的 Docker Registry 私有倉庫 登入 Doc
Thumbnail
2024/01/28
前言 大家好上次我們教了如何下載 Docker Image 使用,今天我們要教如何產出自己的 Image,這次會使用一個 Dockerfile 範例,自行打包 Docker Image,初步練習使用 Docker 指令 下載 Dockerfile 教學檔案 在這裡我已經幫忙寫好一個 Docke
Thumbnail
2024/01/28
前言 大家好上次我們教了如何下載 Docker Image 使用,今天我們要教如何產出自己的 Image,這次會使用一個 Dockerfile 範例,自行打包 Docker Image,初步練習使用 Docker 指令 下載 Dockerfile 教學檔案 在這裡我已經幫忙寫好一個 Docke
Thumbnail
看更多
你可能也想看
Thumbnail
作者 Only 系列文章【一天一千字,進化每一次】,本文章主要討論如何建立一支高效率的團隊,並深入剖析2012年的湖人隊所面臨的角色衝突及解決之道。同時參照貝爾賓博士的理論,提出團隊成員的類型及角色,並探討團隊應該如何適度結合各類型的成員。最後,從主管及下屬的角度提出建議,以改善團隊綜效,化解衝突。
Thumbnail
作者 Only 系列文章【一天一千字,進化每一次】,本文章主要討論如何建立一支高效率的團隊,並深入剖析2012年的湖人隊所面臨的角色衝突及解決之道。同時參照貝爾賓博士的理論,提出團隊成員的類型及角色,並探討團隊應該如何適度結合各類型的成員。最後,從主管及下屬的角度提出建議,以改善團隊綜效,化解衝突。
Thumbnail
透過Personal Scrum的實踐,有效運用通勤時間進行學習,這一過程不僅提升了我的個人效率,也幫助我更好地理解不同雲平台間的共通之處。,雖然考證照本身不能直接提升專業技能,但有助於工作中的溝通和團隊合作。我的經驗證明了Scrum不僅適用於專業項目管理,也能有效應用於個人學習和成長。
Thumbnail
透過Personal Scrum的實踐,有效運用通勤時間進行學習,這一過程不僅提升了我的個人效率,也幫助我更好地理解不同雲平台間的共通之處。,雖然考證照本身不能直接提升專業技能,但有助於工作中的溝通和團隊合作。我的經驗證明了Scrum不僅適用於專業項目管理,也能有效應用於個人學習和成長。
Thumbnail
雖然我平常不會把LINE當成生產力工具,但如果真的要用LINE來處理資料,還是有一些小技巧可以提供給大家參考。
Thumbnail
雖然我平常不會把LINE當成生產力工具,但如果真的要用LINE來處理資料,還是有一些小技巧可以提供給大家參考。
Thumbnail
本文介紹了專案執行中常用的數位工具,包括專案管理、線上延伸與討論、資料存取和發布工具。專案管理工具包括記錄軟體和會議軟體,而線上延伸與討論工具則用於設計和專案內容的發想。資料存取工具包含資料儲存和發表用軟體,而發布工具則包括社群媒體、網站和網誌部落格等。選擇適合團隊專案的工具,能提高專案執行效率。
Thumbnail
本文介紹了專案執行中常用的數位工具,包括專案管理、線上延伸與討論、資料存取和發布工具。專案管理工具包括記錄軟體和會議軟體,而線上延伸與討論工具則用於設計和專案內容的發想。資料存取工具包含資料儲存和發表用軟體,而發布工具則包括社群媒體、網站和網誌部落格等。選擇適合團隊專案的工具,能提高專案執行效率。
Thumbnail
「聖經種子」團隊當初在組成的時候,成員本就是散落在各地,因著我的邀請而聚集在一起。因為大家都在不同的城市,平日也有自己的工作,所以對於我們來說,該如何讓團隊中溝通討論順暢、設計協作合作順利、凝聚出向心力,就成了最大的課題。
Thumbnail
「聖經種子」團隊當初在組成的時候,成員本就是散落在各地,因著我的邀請而聚集在一起。因為大家都在不同的城市,平日也有自己的工作,所以對於我們來說,該如何讓團隊中溝通討論順暢、設計協作合作順利、凝聚出向心力,就成了最大的課題。
Thumbnail
The MentorShip 曼陀號 PM 組月會 01 主題為「產品團隊的組織架構」,前半搭配著《91APP的軟體開發之道 — 從20人到200人的組織發展旅程》看組織從小而緊密至大而複雜演變;後半以街口為例,細部解說軟體開發流程——
Thumbnail
The MentorShip 曼陀號 PM 組月會 01 主題為「產品團隊的組織架構」,前半搭配著《91APP的軟體開發之道 — 從20人到200人的組織發展旅程》看組織從小而緊密至大而複雜演變;後半以街口為例,細部解說軟體開發流程——
Thumbnail
在一間採用 Scrum 的公司中工作,勢必要了解敏捷開發是一個怎樣的概念。也因此,我們在分配完畢團隊後,先以團隊為單位安排出我們所理解的「敏捷流程」並且相互對照討論。
Thumbnail
在一間採用 Scrum 的公司中工作,勢必要了解敏捷開發是一個怎樣的概念。也因此,我們在分配完畢團隊後,先以團隊為單位安排出我們所理解的「敏捷流程」並且相互對照討論。
Thumbnail
《LeSS in Action》是一個關於 Scrum 的工作坊,我們將在一週的時間內模擬加入一間公司,並且在一週後馬上離職。因此這是一間工程師 100% 離職率的公司,在這一週的時間內我們需要學習針對一個真實的產品進行開發,跨團隊的協作來產生貢獻。
Thumbnail
《LeSS in Action》是一個關於 Scrum 的工作坊,我們將在一週的時間內模擬加入一間公司,並且在一週後馬上離職。因此這是一間工程師 100% 離職率的公司,在這一週的時間內我們需要學習針對一個真實的產品進行開發,跨團隊的協作來產生貢獻。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News