上次我們教到 Gitlab-Runner 註冊與 tags 使用,今天我們要教 Gitlab CI/CD 中的 artifacts,這可以幫助我們在 CI/CD 過程中,達到一個報告效果。我們這次在文章的最下方會提供我用 C# .Net Core Web Api 寫好的範本,供給大家使用,大家可以拿我的範例做練習。
artifacts 可以在我們 CI/CD 過程中可以拿到一份報告,比如說單元測試報告,或這是程式碼風格報告,我們可以拿這份報告查看測試結果,以便我們日後修改系統。
在工作區我們定義 artifacts,定義我們測試怎麼測試以及測試報告使用甚麼形式文件下載,有如以下範例。
image: mcr.microsoft.com/dotnet/sdk:6.0
stages:
- testing
unit-tests:
stage: testing
tags:
- docker
script:
- dotnet test DotNetCoreUtils.Tests > DotNetCoreUtils.Tests.txt
artifacts:
paths:
- DotNetCoreUtils.Tests.txt
expire_in: "30 days"
only:
- main
- develop
paths: 在 artifacts 裡面有個 paths 是指文件要輸出的路徑。
expire_in: 在 artifacts 裡面有個 expire_in 是指文件保存有效期限多少天
請各位 clone 我的 DotNetCoreWebApiCiAndCdCourse 教學專案,然後我們新增 .gitlab-ci.yml 檔案,製作我們下方 CI/CD 流程
image: mcr.microsoft.com/dotnet/sdk:6.0
stages:
- testing
unit-tests:
stage: testing
tags:
- docker
script:
- dotnet test DotNetCoreWebApiCiAndCdCourse.Tests > DotNetCoreWebApiCiAndCdCourse.Tests.txt
artifacts:
paths:
- DotNetCoreWebApiCiAndCdCourse.Tests.txt
expire_in: "30 days"
only:
- main
- develop
接下來我們來看我們的測試結果,可以看到我們寫的測試通過。
在我們 gitlab 中看到 Build->Artifacts 可以看到我們剛才測試後所產生的檔案,我們去下載測試報告檔案
下載完後會得到一份壓縮檔,解壓縮的目錄底下會有一份 txt 可以看到測試報告結果,這時候你就可以直接拿這份報告給老闆。