Gitlab CI/CD 認識 Pipeline Job

更新於 發佈於 閱讀時間約 2 分鐘
raw-image

前言

上次我們簡單的寫了 CI/CD 的工作,這次我們對 Pipeline 與 Job,來多加了解他們的運作,以及我們這些工作是怎麼處發的。

Pipeline 與 Job

首先我們先切到 Build 子清單,可以看到裡面有 Pipeline、Job、Pipeline editor、Pipeline schedules、Artifacts

raw-image

Pipeline: 可以觀察我們的 CI/CD 有沒有運作。

Job: 跟 Pipeline 很像,可以觀察個別工作運作。

Pipeline editor: 可以從平台上直接編輯 CD/CD 腳本。

Artifacts: 會產生一個檔案,例如: 測試報告結果,之後會介紹。

新增新的工作並運行

接下來我們將上次 CI_CD_DEMO 專案,在多加一個新的工作,來看如何運行。

hello-gitlab-ci-cd:

script:

- echo 'hello gitlab ci cd demo'

# 新增單元測試工作
run-unit-test:
before_script:
- echo '安裝套件'
script:
- echo '執行單元測試'
after_script:
- echo '刪除不必要資源'

接下來再把專案 push 上去,並查看 Pipeline,可以發現 CI/CD 正在運行,而且運行成功

raw-image

CI/CD 如何運行的 ?

為什麼我 push 專案上去,CI/CD 馬上就運行呢 ? 那是因為 GitLab 會去看你的專案,是否有 .gitlab-ci.yml 這個檔案,如果有這個檔案,每當 push 上去就會去讀 .gitlab-ci.yml 檔案,去做我們想要的工作。

故意運行錯誤的 CI/CD ?

我們在加一個工作,故意運行錯誤的 CI/CD 腳本。

hello-gitlab-ci-cd:
script:
- echo 'hello gitlab ci cd demo'

run-unit-test:
before_script:
- echo '安裝套件'
script:
- echo '執行單元測試'
after_script:
- echo '刪除不必要資源'

# 新增測試打包工作(故意腳本亂打)
test-build:
script:
- sadkfjaksdjf

可以看到 Gitlab CI/CD 還是會運行,然後 ‘test-build’ 這個故意亂打的工作,GitLab CI/CD 會告訴我們有錯誤,所以 CI/CD 工作你寫對了,就會正常運行,你寫錯了,就不能運行。

raw-image
avatar-img
10會員
49內容數
d3.js 圖形
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
Tim Bai的沙龍 的其他內容
前言 今天我們要做一個初體驗,讓各位感受一下,在 GitLab CD/CD 的過程,我們今天使用官方提供的 Gitlab,如果您有自架 Gitlab ,也可以使用自架的 Gitlab 練習,我們這邊為了讓各位學習方便,所以使用官方提供的 Gitlab 作為練習,實際寫一個簡單的 CI/CD 腳本,
前言 什麼是 CI/CD ? CI/CD 可以幫助我們做到什麼事情? 為什麼要有 CI/CD ? 在傳統程式上線流程,例如可能要透過 FTP 上傳至伺服器,接著去修改環境變數,然後測試程式是否運作正常,然後伺服器重新開機就上線了。 在近代程式上線流程,例如說會有個像 Gitlab、GitHub
有遇過 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
前言 今天我們要做一個初體驗,讓各位感受一下,在 GitLab CD/CD 的過程,我們今天使用官方提供的 Gitlab,如果您有自架 Gitlab ,也可以使用自架的 Gitlab 練習,我們這邊為了讓各位學習方便,所以使用官方提供的 Gitlab 作為練習,實際寫一個簡單的 CI/CD 腳本,
前言 什麼是 CI/CD ? CI/CD 可以幫助我們做到什麼事情? 為什麼要有 CI/CD ? 在傳統程式上線流程,例如可能要透過 FTP 上傳至伺服器,接著去修改環境變數,然後測試程式是否運作正常,然後伺服器重新開機就上線了。 在近代程式上線流程,例如說會有個像 Gitlab、GitHub
有遇過 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
本篇參與的主題活動
先前麥克買了在預算及性能方面都十分複合需求的NXTPAPER 11平板,但拿到辦公室使用後便發現因為時不時有簡報需求,主機本身不支援有線視訊輸出實在是非常不方便,因又開始尋找新歡。最終麥克選擇了算是還滿熟悉的品牌小米旗下的小米平板6,以下為麥克這一個月下來的使用心得。
從預計的十月底出貨經過重重波折,Pubu自家開發的10寸彩色閱讀器Pubook Pro終於是送到第一批集資者手中了。究竟這台閱讀器有沒有本事撼動目前的電子紙閱讀器市場?有達到集資時承諾的各項功能嗎?且讓身為首批集資者之一的麥克跟大家談談收到主機後使用數天的感想。
Steam Deck 迎來大改版,最重要的更新就是換成 OLED 螢幕。使用 OLED 螢幕帶來更好看的顏色,大小還小幅提升到 7.4 吋。關係續航力的電池也從 40 瓦小時升級到 50 瓦小時, 3A 大作都可以多玩一小時呢!這麼香的更新,怎麼不給他買下去呢 😄
先前麥克買了在預算及性能方面都十分複合需求的NXTPAPER 11平板,但拿到辦公室使用後便發現因為時不時有簡報需求,主機本身不支援有線視訊輸出實在是非常不方便,因又開始尋找新歡。最終麥克選擇了算是還滿熟悉的品牌小米旗下的小米平板6,以下為麥克這一個月下來的使用心得。
從預計的十月底出貨經過重重波折,Pubu自家開發的10寸彩色閱讀器Pubook Pro終於是送到第一批集資者手中了。究竟這台閱讀器有沒有本事撼動目前的電子紙閱讀器市場?有達到集資時承諾的各項功能嗎?且讓身為首批集資者之一的麥克跟大家談談收到主機後使用數天的感想。
Steam Deck 迎來大改版,最重要的更新就是換成 OLED 螢幕。使用 OLED 螢幕帶來更好看的顏色,大小還小幅提升到 7.4 吋。關係續航力的電池也從 40 瓦小時升級到 50 瓦小時, 3A 大作都可以多玩一小時呢!這麼香的更新,怎麼不給他買下去呢 😄
你可能也想看
Google News 追蹤
Thumbnail
現代社會跟以前不同了,人人都有一支手機,只要打開就可以獲得各種資訊。過去想要辦卡或是開戶就要跑一趟銀行,然而如今科技快速發展之下,金融App無聲無息地進到你生活中。但同樣的,每一家銀行都有自己的App時,我們又該如何選擇呢?(本文係由國泰世華銀行邀約) 今天我會用不同角度帶大家看這款國泰世華CUB
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
在這篇文章中,我們將介紹工作與以前念書時期在開發流程上的差異,並深入瞭解CI/CD、Travis CI以及加解密的應用。 CI/CD是自動化的軟體開發實踐,而加解密則是保護機密資料安全的重要技術。
CI 持續整合 CI目的是建立自動化專案打包。 CD 持續發表 將打包完成的專案,自動發布。
Thumbnail
GitLab為程式碼管理倉庫,且從8.0開始提供CI/CD。 安裝 更新套件索引 sudo apt update 安裝postfix sudo apt install ca-certifi​cates curl openssh-server postfix 切換目錄 cd /t
Thumbnail
本文將介紹如何在Gitlab上部署和註冊runner,以進行CI/CD測試。透過Docker-compose方式進行部署,同時注意安裝時的一些注意事項。建議學習者至少掌握一種以上的Pipeline工具,以滿足實務上的需求。
※ 簡短說明Git 和 Git Flow 是什麼?如何應用? Git 是什麼? Git是一個分散式版本控制軟體,能夠紀錄檔案的狀態變化,以及協調多個開發者之間的工作。它允許團隊成員協作編輯和管理項目的代碼庫,並且能夠追蹤文件的歷史變更、恢復到以前的版本、合併不同版本的代碼,以及解決代碼衝突等。
Thumbnail
前年第一次藉公司機會,參加了DevOpsDay的活動。雖然devOps一詞各自表述,大多狀況還是偏向維運會遇到的技術為主,做為平時開發、跟使用者訪談需求的工作內容來說,參加聚會如果沒有一定的知識,對講者所提到的狀況比較難有共鳴...
Thumbnail
本文將介紹Gitlab與GitHub的差異,以及在本地環境部署Gitlab的流程與實作。文章內容包括版本管理系統的選擇,Gitlab的基本功能,以及使用Docker進行部署的詳細步驟。
Thumbnail
在Kubernetes cluster上建立Jenkins,並且使用動態方式建立Jenkins Agent。透過K8S解決傳統的Jenkins一對多架構的問題,最終建立基本Pipeline在Jenkins Web UI上,簡單驗證Jenkins engine正常運行。
Thumbnail
現代社會跟以前不同了,人人都有一支手機,只要打開就可以獲得各種資訊。過去想要辦卡或是開戶就要跑一趟銀行,然而如今科技快速發展之下,金融App無聲無息地進到你生活中。但同樣的,每一家銀行都有自己的App時,我們又該如何選擇呢?(本文係由國泰世華銀行邀約) 今天我會用不同角度帶大家看這款國泰世華CUB
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
在這篇文章中,我們將介紹工作與以前念書時期在開發流程上的差異,並深入瞭解CI/CD、Travis CI以及加解密的應用。 CI/CD是自動化的軟體開發實踐,而加解密則是保護機密資料安全的重要技術。
CI 持續整合 CI目的是建立自動化專案打包。 CD 持續發表 將打包完成的專案,自動發布。
Thumbnail
GitLab為程式碼管理倉庫,且從8.0開始提供CI/CD。 安裝 更新套件索引 sudo apt update 安裝postfix sudo apt install ca-certifi​cates curl openssh-server postfix 切換目錄 cd /t
Thumbnail
本文將介紹如何在Gitlab上部署和註冊runner,以進行CI/CD測試。透過Docker-compose方式進行部署,同時注意安裝時的一些注意事項。建議學習者至少掌握一種以上的Pipeline工具,以滿足實務上的需求。
※ 簡短說明Git 和 Git Flow 是什麼?如何應用? Git 是什麼? Git是一個分散式版本控制軟體,能夠紀錄檔案的狀態變化,以及協調多個開發者之間的工作。它允許團隊成員協作編輯和管理項目的代碼庫,並且能夠追蹤文件的歷史變更、恢復到以前的版本、合併不同版本的代碼,以及解決代碼衝突等。
Thumbnail
前年第一次藉公司機會,參加了DevOpsDay的活動。雖然devOps一詞各自表述,大多狀況還是偏向維運會遇到的技術為主,做為平時開發、跟使用者訪談需求的工作內容來說,參加聚會如果沒有一定的知識,對講者所提到的狀況比較難有共鳴...
Thumbnail
本文將介紹Gitlab與GitHub的差異,以及在本地環境部署Gitlab的流程與實作。文章內容包括版本管理系統的選擇,Gitlab的基本功能,以及使用Docker進行部署的詳細步驟。
Thumbnail
在Kubernetes cluster上建立Jenkins,並且使用動態方式建立Jenkins Agent。透過K8S解決傳統的Jenkins一對多架構的問題,最終建立基本Pipeline在Jenkins Web UI上,簡單驗證Jenkins engine正常運行。