GitLab CI/CD 之 註冊 Gitlab-Runner 與 tags 使用

閱讀時間約 10 分鐘
raw-image

前言

上次我們已經架好 Gitlab 與 Gitlab-Runner 主機,今天我們要教大家如何使用 Gitlab-Runner 註冊一個 Runner,並使用 tags 這個 script,使用我們的 runner 運作

上版 CI_CD_DEMO 專案

我們先將之前的 CI_CD_DEMO 專案 push 到我們自己架設的 Gitlab 主機

raw-image

查看專案註冊 CI/CD token

我們先去查看我們要註冊的這個 CI/CD token 是什麼,待會註冊 Runner 會用到

raw-image

進入 Gitlab-Runner Container 裡面

首先查看我們 gitlab-runner container id

docker container ls

會得到以下有在運行的 container

CONTAINER ID   IMAGE                         COMMAND                  CREATED      STATUS                   PORTS                                                                                                         NAMES
3119f6d0c660 gitlab/gitlab-ce:latest "/assets/wrapper" 8 days ago Up 6 minutes (healthy) 0.0.0.0:22->22/tcp, :::22->22/tcp, 0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp gitlab-ce
4cb49c53cf78 gitlab/gitlab-runner:latest "/usr/bin/dumb-init …" 8 days ago Up 6 minutes gitlab_runner

再來進到先進到 gitlab-runner container 的 bash 裡面

docker exec -it 4cb49c53cf78 bash

註冊 Docker Runner

我們先註冊一個 Runner,是 Docker Executor,指令如下,輸入後會有一些資訊要我們設定

gitlab-runner register

在這裡輸入我們的註冊 domain,就是我們自架的那台 gitlab 主機網址

Runtime platform                                    arch=amd64 os=linux pid=24 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

下一個是詢問你這個專案,要註冊的 Token 是什麼,就輸入我們剛剛設定->CI/CD->Runner 裡的 Token。

Enter the registration token:
GR1348941SzmW4wsKQyCzKanS1zKw

在下一個是你註冊的這個 Runner 給個描述,看各位怎麼描述,這邊要註冊 docker executor,就有如以下描述

Enter a description for the runner:
[4cb49c53cf78]: CI_CD_DEMO docker runner

在下一個是輸入給個 runner 標籤,待會我們會用到這個標籤名子

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

在下一個其實可以不需要理他,不太重要

Enter optional maintenance note for the runner:

在下一個是問你要用哪一個 Executor,這裡打上 docker

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=GR1348941SzmW4wsK
Enter an executor: docker-windows, parallels, shell, docker-autoscaler, custom, docker, docker+machine, instance, kubernetes, ssh, virtualbox:
docker

最後一個是問,當你這個 Runner 啟用的時候,預設先抓哪一個 image,這裡我們輸入 node:20.9.0-alpine

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

註冊 Shell Runner

再來註冊一個 Runner,是 Shell Executor,指令如下,輸入後會有一些資訊要我們設定

gitlab-runner register

下一個是詢問你這個專案,要註冊的 Token 是什麼,跟剛剛一樣輸入我們 CI/CD 專案 Token

Enter the registration token:
GR1348941SzmW4wsKQyCzKanS1zKw

在下一個是你註冊的這個 Runner 給個描述,看各位怎麼描述,這邊要註冊 shell executor,就有如以下描述

Enter a description for the runner:
[4cb49c53cf78]: CI_CD_DEMO shell runner

在下一個是輸入給個 runner 標籤,待會我們會用到這個標籤名子

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

在下一個其實可以不需要理他,不太重要

Enter optional maintenance note for the runner:

在下一個是問你要用哪一個 Executor,這裡打上 shell

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=GR1348941SzmW4wsK
Enter an executor: ssh, virtualbox, docker+machine, kubernetes, custom, docker-windows, shell, docker-autoscaler, instance, docker, parallels:
shell

經過一番設定後,你會看到有兩個 runner

raw-image

Tags 作用

tags 作用就是將我們的工作分派給不同的 Runner 以及 Executor 分派工作,達到分散處理。

Tags 定義規則

在我們工作定義寫上 tags,然後定義我們剛剛設定好的 Runner 之 tags 名稱

test-build:
stage: testing
tags:
- shell
before_script:
- ls -al
script:
- echo '測試打包'
only:
- main
- develop

練習時間

接下來我們玩玩看這些 Runner 運作,有如以下腳本

stages:
- testing

test-build:
stage: testing
tags:
- shell
script:
- docker ps -a
only:
- main
- develop

run-unit-test:
stage: testing
tags:
- docker
image: node:20.9.0-alpine
script:
- node -v
- npm -v
- yarn -v
only:
- main
- develop

來看一下 test-build 運作

raw-image

在看一下 run-unit-test 運作

raw-image




10會員
49內容數
d3.js 圖形
留言0
查看全部
發表第一個留言支持創作者!
Tim Bai的沙龍 的其他內容
前言 這上次我們講到如何自架 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
上次我們教完公用變數與區域變數和環境變數,今天我們來講 Runner 與 Executor 之間的關係,我們之後會教大家如何自架 Gitlab 主機,以及如何使用 Gitlab-Runner,讓他們自動去跑我們想要的工作,比如: 自動佈署、自動單元測試、自動打包 Docker Image 等。 R
上次我們教完了 Gitlab CI/CD 公用變數與區域變數還可以隱藏變數,今天我們來講 CI/CD 中,還有一個是由 Gitlab 提供的環境變數,我們也可以利用這些變數,操作我們講做的事情。 GitLab CI 變數 打開 Gitlab 官方 說明文件 ,是裡是 Gitlab 提供的環境變數
前言 這上次我們講到如何自架 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
上次我們教完公用變數與區域變數和環境變數,今天我們來講 Runner 與 Executor 之間的關係,我們之後會教大家如何自架 Gitlab 主機,以及如何使用 Gitlab-Runner,讓他們自動去跑我們想要的工作,比如: 自動佈署、自動單元測試、自動打包 Docker Image 等。 R
上次我們教完了 Gitlab CI/CD 公用變數與區域變數還可以隱藏變數,今天我們來講 CI/CD 中,還有一個是由 Gitlab 提供的環境變數,我們也可以利用這些變數,操作我們講做的事情。 GitLab CI 變數 打開 Gitlab 官方 說明文件 ,是裡是 Gitlab 提供的環境變數
你可能也想看
Google News 追蹤
Thumbnail
接下來第二部分我們持續討論美國總統大選如何佈局, 以及選前一週到年底的操作策略建議 分析兩位候選人政策利多/ 利空的板塊和股票
Thumbnail
🤔為什麼團長的能力是死亡筆記本? 🤔為什麼像是死亡筆記本呢? 🤨作者巧思-讓妮翁死亡合理的幾個伏筆
Thumbnail
本篇使用最簡單的GitLab-ci.yml內容,進而實現了CI的功能,操作方式文章所示。
Thumbnail
GitLab 是一個強大的程式碼託管和協作平台,而 GitLab Runner 是一個用於執行自動化測試和部署的工具。透過 Docker,您可以輕鬆新增 GitLab Runner 到您的環境中,提供更快速、可擴展的開發流程。以下就示範利用Docker新增GitLab Runner
Thumbnail
在 Docker 上自建 GitLab Server 是一種方便且有效的方式來託管和管理您的程式碼。使用 Docker,您可以快速建立一個 GitLab 伺服器並且輕鬆進行配置和擴展。
Thumbnail
GitLab不僅是一個源代碼管理工具,它還提供了一個統一的平台,將開發、運營和安全等流程整合在一起。通過GitLab,可以在單一的應用程序中進行專案計劃、源代碼管理、分支控制、CI/CD等操作。不論角色為何,GitLab提供了一個統一的資訊來源,讓你輕鬆地管理和追蹤整個開發流程。它消除了工具鏈的複雜
安裝與設定所需依賴 安裝依賴套件 2. 啟動 SSH 服務 3. 防火牆開啟網頁要用的PORT網頁 4. 安裝 SMTP Server (Postfix),發送通知email用 添加gitlab repo以及安裝package Add Gitlab package 可自行選擇要安裝CE版還是EE版,
Thumbnail
第二季度非公認會計原則每股收益為 -0.15美元,高於預期 0.08 美元。 收入 1.01 億美元(同比增長 73.8%)超過 660 萬美元。 非美國通用會計準則營業利潤率為 -27%。
Thumbnail
GitLab有分為CE(社區版)與EE(企業收費版)兩個版本,差別在EE有多出一些額外功能需要收費,EE的免費功能其實跟GitLab CE一樣,因此可以直接架設 GitLab EE,也許以後會想用收費功能也說不定。 1. 抓取gitlab image: $ docker pull gitlab/gi
Thumbnail
接下來第二部分我們持續討論美國總統大選如何佈局, 以及選前一週到年底的操作策略建議 分析兩位候選人政策利多/ 利空的板塊和股票
Thumbnail
🤔為什麼團長的能力是死亡筆記本? 🤔為什麼像是死亡筆記本呢? 🤨作者巧思-讓妮翁死亡合理的幾個伏筆
Thumbnail
本篇使用最簡單的GitLab-ci.yml內容,進而實現了CI的功能,操作方式文章所示。
Thumbnail
GitLab 是一個強大的程式碼託管和協作平台,而 GitLab Runner 是一個用於執行自動化測試和部署的工具。透過 Docker,您可以輕鬆新增 GitLab Runner 到您的環境中,提供更快速、可擴展的開發流程。以下就示範利用Docker新增GitLab Runner
Thumbnail
在 Docker 上自建 GitLab Server 是一種方便且有效的方式來託管和管理您的程式碼。使用 Docker,您可以快速建立一個 GitLab 伺服器並且輕鬆進行配置和擴展。
Thumbnail
GitLab不僅是一個源代碼管理工具,它還提供了一個統一的平台,將開發、運營和安全等流程整合在一起。通過GitLab,可以在單一的應用程序中進行專案計劃、源代碼管理、分支控制、CI/CD等操作。不論角色為何,GitLab提供了一個統一的資訊來源,讓你輕鬆地管理和追蹤整個開發流程。它消除了工具鏈的複雜
安裝與設定所需依賴 安裝依賴套件 2. 啟動 SSH 服務 3. 防火牆開啟網頁要用的PORT網頁 4. 安裝 SMTP Server (Postfix),發送通知email用 添加gitlab repo以及安裝package Add Gitlab package 可自行選擇要安裝CE版還是EE版,
Thumbnail
第二季度非公認會計原則每股收益為 -0.15美元,高於預期 0.08 美元。 收入 1.01 億美元(同比增長 73.8%)超過 660 萬美元。 非美國通用會計準則營業利潤率為 -27%。
Thumbnail
GitLab有分為CE(社區版)與EE(企業收費版)兩個版本,差別在EE有多出一些額外功能需要收費,EE的免費功能其實跟GitLab CE一樣,因此可以直接架設 GitLab EE,也許以後會想用收費功能也說不定。 1. 抓取gitlab image: $ docker pull gitlab/gi