Gitlab CI/CD 什麼是 CI/CD

閱讀時間約 2 分鐘
raw-image

前言

什麼是 CI/CD ? CI/CD 可以幫助我們做到什麼事情? 為什麼要有 CI/CD ?

在傳統程式上線流程,例如可能要透過 FTP 上傳至伺服器,接著去修改環境變數,然後測試程式是否運作正常,然後伺服器重新開機就上線了。

在近代程式上線流程,例如說會有個像 Gitlab、GitHub 或者是 Jenkins,會有程式碼版控系統,把程式碼上傳上去至平台上,然後可能還跑一些測試,然後開啟 FTP,將程式碼上傳至伺服器,修改環境變數,然後就上線。

在現在程式上線流程,一樣會有個像 Gitlab、Jenkins 這樣的平台,然後我們將我們寫好的程式功能,上傳到平台上,接著我們會寫一些自動化測試的功能及自動化佈署的功能腳本,然後這些平台會去讀取我們撰寫好的腳本,去跑測試,以及佈署,可以幫助我們簡化許多佈署流程,整個佈署流程有如以下圖

raw-image

什麼是 CI ?

CI(Continuous Integration) 是指持續整合,也就是在工程師,在撰寫程式新功能,或者修正 Bug,上傳到 GitLab 平台,然後如果功能沒有問題打包 Docker Image,在這過程叫持續整合。

什麼是 CD ?

CD(Continuous Delivery/Deployment) 是指時序交付或是持續佈署,在程式碼寫完沒問題,要佈署到伺服器,這個過程叫做時序佈署,那為什麼還會有持續交付,那是因為通常會準備是少兩個或三個環境,來進行模擬上線,測試系統功能是否正常,如果在 development 主機及 staging 主機有問題時,在重新修補功能,然後再次模擬上線及測試系統功能,在最後一切沒有問題時,佈署近正式主機,以達成上線功能。

以持續交付的話,有如上圖在不斷有新功能佈署到 development 和 staging 主機的這過程,可叫持續交付

以持續佈署的話,有如上圖不斷佈署至 development 、staging 和 production,這整個大框架叫持續佈署


avatar-img
10會員
49內容數
d3.js 圖形
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
Tim Bai的沙龍 的其他內容
有遇過 pull 自己的私有倉庫無法 pull 下來的問題嗎,今天來教大家如何解決無法 pull image 問題,可暫時解決狀況 錯誤訊息 出現以下訊息代表,這個 docker registry 並沒有經過 https 憑證,所以 docker 會把它擋下來 Error response f
 yarn 是由 facebook 開發的一款套件管理工具,用來管理 node.js 套件版本,今天來學習如何使用 yarn 升級 package.json 版號管理,可以對一個專案版號管理更加制式化 major 目標升級版號 指令 yarn version --new-version maj
前言 該如何自架 docker registry 呢? docker registry 可以幫助我們做什麼事情呢? docker registry 是可以將我們打包好的 docker image,放置到 docker registry 上面,在我們開始要佈署服務時,從 docker registr
npm 做為 node 套件版本管理工具,今天來學習如何使用 npm 升級 package.json 版號管理,可以對一個專案版號管理更加制式化 major 目標升級版號 指令 npm version --new-version major 範例 v1.0.0 -> v2.0.0 mi
一般來說 Docker 剛安裝完成時,會需要使用管理權限來運行 Docker,那如果不想使用 sudo 權限運行,又想直接使用 Docker 命令,以下有幾種遵循方式 1. 將使用者名稱加入至 Docker 中 sudo usermod -aG docker $USER 2. 再來切換使用者使
前言 Vue 是一個現代開發框架,擁有完尚的生態系,讓我們可以將須多元件客製化,做出組件,並且可重複利用,高擴充性。在開發組件時,每個組件都擁有自己的生命周期,Vue 組件會偵測每個變數值,是否有變,並且更新內容,今天要一個一個了解 Vue 的生命週期,讓大家有更多認識。 Vue 的生命週期
有遇過 pull 自己的私有倉庫無法 pull 下來的問題嗎,今天來教大家如何解決無法 pull image 問題,可暫時解決狀況 錯誤訊息 出現以下訊息代表,這個 docker registry 並沒有經過 https 憑證,所以 docker 會把它擋下來 Error response f
 yarn 是由 facebook 開發的一款套件管理工具,用來管理 node.js 套件版本,今天來學習如何使用 yarn 升級 package.json 版號管理,可以對一個專案版號管理更加制式化 major 目標升級版號 指令 yarn version --new-version maj
前言 該如何自架 docker registry 呢? docker registry 可以幫助我們做什麼事情呢? docker registry 是可以將我們打包好的 docker image,放置到 docker registry 上面,在我們開始要佈署服務時,從 docker registr
npm 做為 node 套件版本管理工具,今天來學習如何使用 npm 升級 package.json 版號管理,可以對一個專案版號管理更加制式化 major 目標升級版號 指令 npm version --new-version major 範例 v1.0.0 -> v2.0.0 mi
一般來說 Docker 剛安裝完成時,會需要使用管理權限來運行 Docker,那如果不想使用 sudo 權限運行,又想直接使用 Docker 命令,以下有幾種遵循方式 1. 將使用者名稱加入至 Docker 中 sudo usermod -aG docker $USER 2. 再來切換使用者使
前言 Vue 是一個現代開發框架,擁有完尚的生態系,讓我們可以將須多元件客製化,做出組件,並且可重複利用,高擴充性。在開發組件時,每個組件都擁有自己的生命周期,Vue 組件會偵測每個變數值,是否有變,並且更新內容,今天要一個一個了解 Vue 的生命週期,讓大家有更多認識。 Vue 的生命週期
本篇參與的主題活動
安安你好,你「沙龍」了嗎?因應出版專題即將在 2024 年 1 月下旬全面升級為沙龍(Salon),vocus 特別舉辦有獎徵文活動,誠摯邀請站上的格友們,投稿分享你的沙龍定位、設計,以及你是如何玩轉沙龍,打造出適合自己的創作、交流與經營模式。一起來往下了解本次徵文主題吧!
安安你好,你「沙龍」了嗎?因應出版專題即將在 2024 年 1 月下旬全面升級為沙龍(Salon),vocus 特別舉辦有獎徵文活動,誠摯邀請站上的格友們,投稿分享你的沙龍定位、設計,以及你是如何玩轉沙龍,打造出適合自己的創作、交流與經營模式。一起來往下了解本次徵文主題吧!
你可能也想看
Google News 追蹤
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
本文將介紹如何在Gitlab上部署和註冊runner,以進行CI/CD測試。透過Docker-compose方式進行部署,同時注意安裝時的一些注意事項。建議學習者至少掌握一種以上的Pipeline工具,以滿足實務上的需求。
Thumbnail
前言 上次我們講到 CI/CD 中的 when 使用,今天我們要來傳授一套必殺技,我們要把過去所學的全部融合再一起,相信各位都準備好了,將 Gitlab 從枷鎖中解放出來吧,讓我們來詠唱「武裝完全支配術」 「System Call. Connect Armament. Search Archiv
Thumbnail
前言 上次教到如何使用 environment 去自動設置我們環境那些,今天我們要教 CI/CD 中的 when,通常在自動化佈署上線流程,並不會一路像前幾次一樣,先佈署到測試機,再佈署 demo 機,最後佈署到正式機,我們在佈署正式機的時候,通常會做一個防呆,比如說做成一個指令集,或者是按鈕等等
Thumbnail
前言 上次我們做了一次使用 Docker、Docker Compose 與 Gitlab CI/CD 做一次自動化佈署上線,今天我們要來再來教一個 Gitlab CI/CD 中的 environment 這個 script 怎麼使用 environment 作用 environment 是可以
Thumbnail
前言 大家好上次講到在使用 Gitlab CI/CD 自動化佈署前,使用 Docker Compose 撰寫佈署計畫書,今天我們要將目標轉移到 Gitlab 我們要撰寫自動化上線佈署計畫書,我們之後還會講一套更完整的佈署流程,今天只是讓各位體驗,自動化佈署上線的快感 調整 CI/CD 變數 首
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
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
本文將介紹如何在Gitlab上部署和註冊runner,以進行CI/CD測試。透過Docker-compose方式進行部署,同時注意安裝時的一些注意事項。建議學習者至少掌握一種以上的Pipeline工具,以滿足實務上的需求。
Thumbnail
前言 上次我們講到 CI/CD 中的 when 使用,今天我們要來傳授一套必殺技,我們要把過去所學的全部融合再一起,相信各位都準備好了,將 Gitlab 從枷鎖中解放出來吧,讓我們來詠唱「武裝完全支配術」 「System Call. Connect Armament. Search Archiv
Thumbnail
前言 上次教到如何使用 environment 去自動設置我們環境那些,今天我們要教 CI/CD 中的 when,通常在自動化佈署上線流程,並不會一路像前幾次一樣,先佈署到測試機,再佈署 demo 機,最後佈署到正式機,我們在佈署正式機的時候,通常會做一個防呆,比如說做成一個指令集,或者是按鈕等等
Thumbnail
前言 上次我們做了一次使用 Docker、Docker Compose 與 Gitlab CI/CD 做一次自動化佈署上線,今天我們要來再來教一個 Gitlab CI/CD 中的 environment 這個 script 怎麼使用 environment 作用 environment 是可以
Thumbnail
前言 大家好上次講到在使用 Gitlab CI/CD 自動化佈署前,使用 Docker Compose 撰寫佈署計畫書,今天我們要將目標轉移到 Gitlab 我們要撰寫自動化上線佈署計畫書,我們之後還會講一套更完整的佈署流程,今天只是讓各位體驗,自動化佈署上線的快感 調整 CI/CD 變數 首
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版,