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




留言
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
本文將介紹如何在Gitlab上部署和註冊runner,以進行CI/CD測試。透過Docker-compose方式進行部署,同時注意安裝時的一些注意事項。建議學習者至少掌握一種以上的Pipeline工具,以滿足實務上的需求。
Thumbnail
本文將介紹如何在Gitlab上部署和註冊runner,以進行CI/CD測試。透過Docker-compose方式進行部署,同時注意安裝時的一些注意事項。建議學習者至少掌握一種以上的Pipeline工具,以滿足實務上的需求。
Thumbnail
前言 大家好上次講到在使用 Gitlab CI/CD 自動化佈署前,使用 Docker Compose 撰寫佈署計畫書,今天我們要將目標轉移到 Gitlab 我們要撰寫自動化上線佈署計畫書,我們之後還會講一套更完整的佈署流程,今天只是讓各位體驗,自動化佈署上線的快感 調整 CI/CD 變數 首
Thumbnail
前言 大家好上次講到在使用 Gitlab CI/CD 自動化佈署前,使用 Docker Compose 撰寫佈署計畫書,今天我們要將目標轉移到 Gitlab 我們要撰寫自動化上線佈署計畫書,我們之後還會講一套更完整的佈署流程,今天只是讓各位體驗,自動化佈署上線的快感 調整 CI/CD 變數 首
Thumbnail
前言 上次我們教到如何使用 Gitlab CI/CD 自動打包 Docker Image,並自動上傳 Docker Image 到 Docker Hub 存放我們的 Image,今天我們要再做一件事情,也就是當我們上傳 Image 時,除的上傳自動最新 Image,還要自動掛載版號 jq 工具使
Thumbnail
前言 上次我們教到如何使用 Gitlab CI/CD 自動打包 Docker Image,並自動上傳 Docker Image 到 Docker Hub 存放我們的 Image,今天我們要再做一件事情,也就是當我們上傳 Image 時,除的上傳自動最新 Image,還要自動掛載版號 jq 工具使
Thumbnail
前言 上次我們教到如何打包 Docker Image,而今我們要交如何將我們打包好的 Docker Image 自動化上傳到 Docker Hub,這樣的話不但可以減輕我們的工作,也可以讓我們為的的佈署新服務更有效率 設定隱藏變數 在我們設定裡面,設定我們 CI/CD 變數,我們在這裡設定我們
Thumbnail
前言 上次我們教到如何打包 Docker Image,而今我們要交如何將我們打包好的 Docker Image 自動化上傳到 Docker Hub,這樣的話不但可以減輕我們的工作,也可以讓我們為的的佈署新服務更有效率 設定隱藏變數 在我們設定裡面,設定我們 CI/CD 變數,我們在這裡設定我們
Thumbnail
前言 上次我們教到 Group Runner 使用方式,今天我們要教在 CI/CD 過程,自動打包 Docker Image 上去到我們的 Docker Registry,本次講解我們使用 Docker Hub 作為練習,透過 Gitlab CI/CD 自動上傳到 Docker Hub,我們會分成
Thumbnail
前言 上次我們教到 Group Runner 使用方式,今天我們要教在 CI/CD 過程,自動打包 Docker Image 上去到我們的 Docker Registry,本次講解我們使用 Docker Hub 作為練習,透過 Gitlab CI/CD 自動上傳到 Docker Hub,我們會分成
Thumbnail
前言 上次我們已經架好 Gitlab 與 Gitlab-Runner 主機,今天我們要教大家如何使用 Gitlab-Runner 註冊一個 Runner,並使用 tags 這個 script,使用我們的 runner 運作 上版 CI_CD_DEMO 專案 我們先將之前的 CI_CD_DEMO
Thumbnail
前言 上次我們已經架好 Gitlab 與 Gitlab-Runner 主機,今天我們要教大家如何使用 Gitlab-Runner 註冊一個 Runner,並使用 tags 這個 script,使用我們的 runner 運作 上版 CI_CD_DEMO 專案 我們先將之前的 CI_CD_DEMO
Thumbnail
前言 這上次我們講到如何自架 Gitlab 與 Gitlab-Runner 主機,今天我們來做一個細節調整,調整 gitlab-runner 可以直接跑 Docker 中的 shell,這樣我們就可以不用在下載 docker 的 image 去跑我們的 docker。 查詢 gitlab-run
Thumbnail
前言 這上次我們講到如何自架 Gitlab 與 Gitlab-Runner 主機,今天我們來做一個細節調整,調整 gitlab-runner 可以直接跑 Docker 中的 shell,這樣我們就可以不用在下載 docker 的 image 去跑我們的 docker。 查詢 gitlab-run
Thumbnail
前言 上次我們講到 Gitlab 的 Excutor 種類,今天我們要來教更經典的自架 Gitlab 與 Gitlab-Runner 主機,Gitlab 有兩個版本,一個是社群版,另一個是企業版,我們這次用 Docker 來安裝 Gitlab 社群版,快速安裝完成 Gitlab,另一方面這樣子的話
Thumbnail
前言 上次我們講到 Gitlab 的 Excutor 種類,今天我們要來教更經典的自架 Gitlab 與 Gitlab-Runner 主機,Gitlab 有兩個版本,一個是社群版,另一個是企業版,我們這次用 Docker 來安裝 Gitlab 社群版,快速安裝完成 Gitlab,另一方面這樣子的話
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News