[GitLab] #3 專案新增 GitLab-ci.yml並且實現CI

更新於 發佈於 閱讀時間約 3 分鐘

本篇使用最簡單的GitLab-ci.yml內容,進而實現了CI的功能,操作方式如下。

raw-image


  1. 在專案內新增 測試用的 gitlab-ci.yml
raw-image

2. gitlab-ci.yml的測試內容為下

stages:
- Verify
- Package
- Release

Verify:CodeQuality:
stage: Verify
script:
- echo 'Verify Do Code Quality Job'

Verify:PerformanceTesting:
stage: Verify
script:
- echo 'Verify Do Performance Testing Job'

Verify:UnitTests:
stage: Verify
script:
- echo 'Verify Do Unit Tests Job'

Verify:ContainerRegistry:
stage: Package
script:
- echo 'Verify Do Build Docker Image Job'

Verify:NPMRegistry:
stage: Package
script:
- echo 'Verify Do Build NPM Package Job'

Verify:AutoDeploy:
stage: Release
script:
- echo 'Verify Do Auto Deploy Job'


3. 在push之後可以先到Gitlab 內檢查自已寫好的CI 是否正常,可以點擊下圖右上角的 CI lint

raw-image

5. 按下validate,就會在畫面下方看到測試結果

raw-image

6. 回到剛才 Pipelines其實有pending 的事件,按下pending看看發生了什麼事

raw-image

7. 進到pending 畫面,再按下暫停的黃色按鈕,就會進到另一個畫面

raw-image

8. 我們可以看到pending是因為找不到runner而無法執行

raw-image

9. 進到 Gitlab > Settings > CI/CD > Runners settings 按下EXPAND,往下滑,就會看到自已上一篇建立好的runner

raw-image

10. 點輸RUNNER 鎖頭旁的修改按鈕,進入RUNNER設定頁面,將Run untagged jobs Indicates whether this runner can pick jobs without tags 打勾後SAVE

這裡的用意在於,讓閒置的RUNNER可以自動去接工作,不用透過YAML檔指定

raw-image

11. 按下save之後,回到CICD>Pipline的畫面就會看到 pending已經變成running中

raw-image

12. 但過了一下子結果還是變成fail,是因為runner找不到可以clone的位置,必須要再設定一個可以取得正確位置的runner

raw-image
raw-image
raw-image

13. 可以參考上一篇重新產生一個runner,並且重新執行之後就會成功了

raw-image


小結:

本篇文章實作了一段測試的CI,並且呈現了CI所會產生的問題,希望能夠幫助到一樣也是遇到問題的工程師。





留言
avatar-img
留言分享你的想法!
avatar-img
Daniel 的沙龍
4會員
12內容數
所有文章都是將自已工作上的經驗,透過篇章的方式,希望能夠將技術白話文,讓想入門的工程師能夠清楚的理解, 出版的頻率會是幾個月一篇,也有可能是一星期好幾篇,就看當下是否有空閒產出。某些特定文章會希望以付費方式呈現,如果有什麼問題,歡迎大家隨時留言
你可能也想看
Thumbnail
沙龍一直是創作與交流的重要空間,這次 vocus 全面改版了沙龍介面,就是為了讓好內容被好好看見! 你可以自由編排你的沙龍首頁版位,新版手機介面也讓每位訪客都能更快找到感興趣的內容、成為你的支持者。 改版完成後可以在社群媒體分享新版面,並標記 @vocus.official⁠ ♥️ ⁠
Thumbnail
沙龍一直是創作與交流的重要空間,這次 vocus 全面改版了沙龍介面,就是為了讓好內容被好好看見! 你可以自由編排你的沙龍首頁版位,新版手機介面也讓每位訪客都能更快找到感興趣的內容、成為你的支持者。 改版完成後可以在社群媒體分享新版面,並標記 @vocus.official⁠ ♥️ ⁠
Thumbnail
每年4月、5月都是最多稅要繳的月份,當然大部份的人都是有機會繳到「綜合所得稅」,只是相當相當多人還不知道,原來繳給政府的稅!可以透過一些有活動的銀行信用卡或電子支付來繳,從繳費中賺一點點小確幸!就是賺個1%~2%大家也是很開心的,因為你們把沒回饋變成有回饋,就是用卡的最高境界 所得稅線上申報
Thumbnail
每年4月、5月都是最多稅要繳的月份,當然大部份的人都是有機會繳到「綜合所得稅」,只是相當相當多人還不知道,原來繳給政府的稅!可以透過一些有活動的銀行信用卡或電子支付來繳,從繳費中賺一點點小確幸!就是賺個1%~2%大家也是很開心的,因為你們把沒回饋變成有回饋,就是用卡的最高境界 所得稅線上申報
Thumbnail
前言 大家好上次講到在使用 Gitlab CI/CD 自動化佈署前,使用 Docker Compose 撰寫佈署計畫書,今天我們要將目標轉移到 Gitlab 我們要撰寫自動化上線佈署計畫書,我們之後還會講一套更完整的佈署流程,今天只是讓各位體驗,自動化佈署上線的快感 調整 CI/CD 變數 首
Thumbnail
前言 大家好上次講到在使用 Gitlab CI/CD 自動化佈署前,使用 Docker Compose 撰寫佈署計畫書,今天我們要將目標轉移到 Gitlab 我們要撰寫自動化上線佈署計畫書,我們之後還會講一套更完整的佈署流程,今天只是讓各位體驗,自動化佈署上線的快感 調整 CI/CD 變數 首
Thumbnail
前言 上次我們教到如何打包 Docker Image,而今我們要交如何將我們打包好的 Docker Image 自動化上傳到 Docker Hub,這樣的話不但可以減輕我們的工作,也可以讓我們為的的佈署新服務更有效率 設定隱藏變數 在我們設定裡面,設定我們 CI/CD 變數,我們在這裡設定我們
Thumbnail
前言 上次我們教到如何打包 Docker Image,而今我們要交如何將我們打包好的 Docker Image 自動化上傳到 Docker Hub,這樣的話不但可以減輕我們的工作,也可以讓我們為的的佈署新服務更有效率 設定隱藏變數 在我們設定裡面,設定我們 CI/CD 變數,我們在這裡設定我們
Thumbnail
前言 上次我們教到 Gitlab-Runner 註冊與 tags 使用,今天我們要教 Gitlab CI/CD 中的 artifacts,這可以幫助我們在 CI/CD 過程中,達到一個報告效果。我們這次在文章的最下方會提供我用 C# .Net Core Web Api 寫好的範本,供給大家使用,大
Thumbnail
前言 上次我們教到 Gitlab-Runner 註冊與 tags 使用,今天我們要教 Gitlab CI/CD 中的 artifacts,這可以幫助我們在 CI/CD 過程中,達到一個報告效果。我們這次在文章的最下方會提供我用 C# .Net Core Web Api 寫好的範本,供給大家使用,大
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 CI/CD 公用變數與區域變數還可以隱藏變數,今天我們來講 CI/CD 中,還有一個是由 Gitlab 提供的環境變數,我們也可以利用這些變數,操作我們講做的事情。 GitLab CI 變數 打開 Gitlab 官方 說明文件 ,是裡是 Gitlab 提供的環境變數
Thumbnail
上次我們教完了 Gitlab CI/CD 公用變數與區域變數還可以隱藏變數,今天我們來講 CI/CD 中,還有一個是由 Gitlab 提供的環境變數,我們也可以利用這些變數,操作我們講做的事情。 GitLab CI 變數 打開 Gitlab 官方 說明文件 ,是裡是 Gitlab 提供的環境變數
Thumbnail
上次我們講完了 only 操作方式,接下來我們要來講解 needs 操作方式,讓我們的 CI/CD 更加仔細,更加完整。 needs 作用 needs 可以在我們整個 CI/CD 流程,去定義在哪個工作之前做完,才會去做下一個工作,假設今天有三個工作,分別叫 "test-build"、"buil
Thumbnail
上次我們講完了 only 操作方式,接下來我們要來講解 needs 操作方式,讓我們的 CI/CD 更加仔細,更加完整。 needs 作用 needs 可以在我們整個 CI/CD 流程,去定義在哪個工作之前做完,才會去做下一個工作,假設今天有三個工作,分別叫 "test-build"、"buil
Thumbnail
上次我們了解 Pipeline 各自在做什麼是,今天來講解 Gitlab CI/CD 工作相依性,來了解 CI/CD 怎麼依據不同階段,進行工作。 上傳四個工作查看 CI/CD 運作 首先我們先定義我們要做的工作,然後上傳到 GitLab,看結果怎麼樣 run-unit-test: bef
Thumbnail
上次我們了解 Pipeline 各自在做什麼是,今天來講解 Gitlab CI/CD 工作相依性,來了解 CI/CD 怎麼依據不同階段,進行工作。 上傳四個工作查看 CI/CD 運作 首先我們先定義我們要做的工作,然後上傳到 GitLab,看結果怎麼樣 run-unit-test: bef
Thumbnail
前言 今天我們要做一個初體驗,讓各位感受一下,在 GitLab CD/CD 的過程,我們今天使用官方提供的 Gitlab,如果您有自架 Gitlab ,也可以使用自架的 Gitlab 練習,我們這邊為了讓各位學習方便,所以使用官方提供的 Gitlab 作為練習,實際寫一個簡單的 CI/CD 腳本,
Thumbnail
前言 今天我們要做一個初體驗,讓各位感受一下,在 GitLab CD/CD 的過程,我們今天使用官方提供的 Gitlab,如果您有自架 Gitlab ,也可以使用自架的 Gitlab 練習,我們這邊為了讓各位學習方便,所以使用官方提供的 Gitlab 作為練習,實際寫一個簡單的 CI/CD 腳本,
Thumbnail
前言 什麼是 CI/CD ? CI/CD 可以幫助我們做到什麼事情? 為什麼要有 CI/CD ? 在傳統程式上線流程,例如可能要透過 FTP 上傳至伺服器,接著去修改環境變數,然後測試程式是否運作正常,然後伺服器重新開機就上線了。 在近代程式上線流程,例如說會有個像 Gitlab、GitHub
Thumbnail
前言 什麼是 CI/CD ? CI/CD 可以幫助我們做到什麼事情? 為什麼要有 CI/CD ? 在傳統程式上線流程,例如可能要透過 FTP 上傳至伺服器,接著去修改環境變數,然後測試程式是否運作正常,然後伺服器重新開機就上線了。 在近代程式上線流程,例如說會有個像 Gitlab、GitHub
Thumbnail
本篇使用最簡單的GitLab-ci.yml內容,進而實現了CI的功能,操作方式文章所示。
Thumbnail
本篇使用最簡單的GitLab-ci.yml內容,進而實現了CI的功能,操作方式文章所示。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News