Gitlab CI/CD 與 Docker 之間關係

更新於 2024/11/17閱讀時間約 2 分鐘
raw-image

前言

上次交到 Runner 與 Executor 運作方式,今天要來講 Gitlab 與 Docker 之間運作,我們來了解一下,Gitlab 是怎麼幫我們這些指令,之後在自動化佈署的章節會使用到,實現更又效率的佈署。

Gitlab Runner 運作

在這裡你會看到特別的名詞,像是 gitlab-runner、docker+machine 還有 docker image ruby:3.1,那有些更特別的名詞會放在下個章節裡面,我們先來看 gitlab-runner 跟所謂的 ruby:3.1 image 這兩個是做什麼用的

raw-image

Gitlab-Runner

gitlab-runner 是 gitlab 用來註冊每個專案的 runner 工具,如果不知道叫 runner 可以回去看先前文章連結,每個專案可能有多個不同的 runner,比如: ssh runner、docker runner、shell runner,這些不同的 runner 我們會在下個章節提到,先講個概念。

Docker Image

我們剛才看到的 docker image ruby 3.1,代表 runner 運作的時候,有如下圖會去 docker hub 這個雲端服務,抓取 ruby 3.1 這個 image,下載下來就可以執行我們 ruby 這個程式語言指令。

raw-image

自定義下載 Image

那如果我們不想使用 ruby 這個 image,我們想要抓自己要的比如 node.js 這個 image,是否有 CI/CD 命令可以改,當然是有的我們只要在我們腳本寫上 image 這個指令,就會幫我們抓 node.js 這個 image。我們先來查詢 node 版本,我們這邊先用 node:20.9.0-alpine 這個 image。

raw-image

接下來我們寫好 image 腳本,然後 push 上去察看結果。

image: node:20.9.0-alpine

stages:
- testing

test-build:
stage: testing
before_script:
- node -v
- npm -v
- yarn -v
script:
- echo '測試打包'
only:
- main
- develop

有如下圖可以看到 Gitlab Runner 先幫我們抓 node:20.9.0-alpine 版本,也成功印出 node 版本、npm 版本和 yarn 版本。

raw-image



avatar-img
10會員
49內容數
d3.js 圖形
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
Tim Bai的沙龍 的其他內容
上次我們教完公用變數與區域變數和環境變數,今天我們來講 Runner 與 Executor 之間的關係,我們之後會教大家如何自架 Gitlab 主機,以及如何使用 Gitlab-Runner,讓他們自動去跑我們想要的工作,比如: 自動佈署、自動單元測試、自動打包 Docker Image 等。 R
上次我們教完了 Gitlab CI/CD 公用變數與區域變數還可以隱藏變數,今天我們來講 CI/CD 中,還有一個是由 Gitlab 提供的環境變數,我們也可以利用這些變數,操作我們講做的事情。 GitLab CI 變數 打開 Gitlab 官方 說明文件 ,是裡是 Gitlab 提供的環境變數
上次教到 variables 如何使用公用變數與區域變數,今天來教如何將變數隱藏到別的地方,為什麼叫隱藏到別的地方? 那是因為我們有時候有些變數值不想直接寫在 .gitlab-ci.yml 檔裡面,又或者有太敏感資訊,我們想藏在 GitLab 專案設定變數裡面。 設定 GitLab 專案變數 我
上次我們教到 needs 可以來指定哪個工作完成時,才會指向下一個工作,今天我們來教 CI/CD 之 variables 變數,在 Gitlab CI/CD 中也提供環境變數、區域變數 和 公用變數讓我們操作,我們會再這裡分成三期教各位。 variables 定義規則 CI/CD 變數命名先寫一
上次我們講完了 only 操作方式,接下來我們要來講解 needs 操作方式,讓我們的 CI/CD 更加仔細,更加完整。 needs 作用 needs 可以在我們整個 CI/CD 流程,去定義在哪個工作之前做完,才會去做下一個工作,假設今天有三個工作,分別叫 "test-build"、"buil
上次我們講解了 CI/CD 的相依性,也講解了 stages 工作階段的運作,今天我們來了解 only 的作用,可以幫助我們做甚麼 only 作用 only 可以指定那些工作,只在哪個分支名運作,假設今天開了一個新分支,名子叫 feature/add_test 這樣子,接著 CI/CD 有定義四
上次我們教完公用變數與區域變數和環境變數,今天我們來講 Runner 與 Executor 之間的關係,我們之後會教大家如何自架 Gitlab 主機,以及如何使用 Gitlab-Runner,讓他們自動去跑我們想要的工作,比如: 自動佈署、自動單元測試、自動打包 Docker Image 等。 R
上次我們教完了 Gitlab CI/CD 公用變數與區域變數還可以隱藏變數,今天我們來講 CI/CD 中,還有一個是由 Gitlab 提供的環境變數,我們也可以利用這些變數,操作我們講做的事情。 GitLab CI 變數 打開 Gitlab 官方 說明文件 ,是裡是 Gitlab 提供的環境變數
上次教到 variables 如何使用公用變數與區域變數,今天來教如何將變數隱藏到別的地方,為什麼叫隱藏到別的地方? 那是因為我們有時候有些變數值不想直接寫在 .gitlab-ci.yml 檔裡面,又或者有太敏感資訊,我們想藏在 GitLab 專案設定變數裡面。 設定 GitLab 專案變數 我
上次我們教到 needs 可以來指定哪個工作完成時,才會指向下一個工作,今天我們來教 CI/CD 之 variables 變數,在 Gitlab CI/CD 中也提供環境變數、區域變數 和 公用變數讓我們操作,我們會再這裡分成三期教各位。 variables 定義規則 CI/CD 變數命名先寫一
上次我們講完了 only 操作方式,接下來我們要來講解 needs 操作方式,讓我們的 CI/CD 更加仔細,更加完整。 needs 作用 needs 可以在我們整個 CI/CD 流程,去定義在哪個工作之前做完,才會去做下一個工作,假設今天有三個工作,分別叫 "test-build"、"buil
上次我們講解了 CI/CD 的相依性,也講解了 stages 工作階段的運作,今天我們來了解 only 的作用,可以幫助我們做甚麼 only 作用 only 可以指定那些工作,只在哪個分支名運作,假設今天開了一個新分支,名子叫 feature/add_test 這樣子,接著 CI/CD 有定義四
你可能也想看
Google News 追蹤
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
本文將介紹如何在Gitlab上部署和註冊runner,以進行CI/CD測試。透過Docker-compose方式進行部署,同時注意安裝時的一些注意事項。建議學習者至少掌握一種以上的Pipeline工具,以滿足實務上的需求。
Thumbnail
前言 上次我們講到 CI/CD 中的 when 使用,今天我們要來傳授一套必殺技,我們要把過去所學的全部融合再一起,相信各位都準備好了,將 Gitlab 從枷鎖中解放出來吧,讓我們來詠唱「武裝完全支配術」 「System Call. Connect Armament. Search Archiv
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 的 Excutor 種類,今天我們要來教更經典的自架 Gitlab 與 Gitlab-Runner 主機,Gitlab 有兩個版本,一個是社群版,另一個是企業版,我們這次用 Docker 來安裝 Gitlab 社群版,快速安裝完成 Gitlab,另一方面這樣子的話
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
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
本文將介紹如何在Gitlab上部署和註冊runner,以進行CI/CD測試。透過Docker-compose方式進行部署,同時注意安裝時的一些注意事項。建議學習者至少掌握一種以上的Pipeline工具,以滿足實務上的需求。
Thumbnail
前言 上次我們講到 CI/CD 中的 when 使用,今天我們要來傳授一套必殺技,我們要把過去所學的全部融合再一起,相信各位都準備好了,將 Gitlab 從枷鎖中解放出來吧,讓我們來詠唱「武裝完全支配術」 「System Call. Connect Armament. Search Archiv
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 的 Excutor 種類,今天我們要來教更經典的自架 Gitlab 與 Gitlab-Runner 主機,Gitlab 有兩個版本,一個是社群版,另一個是企業版,我們這次用 Docker 來安裝 Gitlab 社群版,快速安裝完成 Gitlab,另一方面這樣子的話
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版,