本文紀錄使用Gitlab CI 對ASP.NET Core應用程式進行持續性整合
近年來CI/CD在業界非常的熱門,也逐漸變為一門顯學。許多平台上也提供了非常多工具或套件來完成整套流程
今天將使用Gitlab來進行CI(Continuous Integration/持續整合)
首先要先在Gitlab上建立一個新的Project來放置我們的專案
並在Repository裡建立並上傳我們的專案,以下為專案結構
接著到Gitlab上的專案中,CI/CD的選單中,選擇Jobs
點選 Create new CI/CD pipeline 來建立一個新的pipeline
之後會出現預設的Yaml範本:
如果預設的範本不符合自己需要的專案格式,可以從 範本清單 找到自己需要的範本,以本篇範例就是以 dotNET Core (dotNET-Core.gitlab-ci.yml
) 作為選擇的範例
貼上範例後按下下方的Commit changes,會在專案中新增一個 .gitlab-ci.yml 的檔案,並推送一個版本
接著選擇左邊的Pipelines
就可以看到已經有pipeline在執行了
可以看到我們跑完第一次CI的結果是失敗
點入build之後可以看到CI的細節,可以從錯誤訊息得知,是由於沒辦法拉到相對應的image才產生的錯誤,所以現在來改動CI的腳本,指定要pull的image
在本地端先拉下遠端的版本後可以看到有個 .gitlab-ci.yml 的檔案,從這邊進去做修改(也可以直接在線上的編輯器做修改)
以下是更改完推送上gitlab的修改
修改完後再跑一次的CI出現了不同的錯誤,這個錯誤訊息是指無法找到要build的project,為此,我們要再來改動一下腳本
一樣點開 .gitlab-ci.yaml 去修改before_ script裡面的內容,這邊的內容是指,在正式的腳本執行之前需要預先執行的動作
那我們就指定好要做CI的目錄,以下是修改的細節,增加了一個前往到我們目標目錄的指令
接著就可以看到我們的CI Build成功了
這就是基礎的Gitlab CI,可以做到建置,確認建置是可以成功的。
後續其實還可以因應專案需求,再加入單元測試做更完善的CI流程,有了這麼方便的工具,可以讓我們效率更加倍!