2023-11-28|閱讀時間 ‧ 約 4 分鐘

GitLab CI/CD 之 artifacts

raw-image

前言

上次我們教到 Gitlab-Runner 註冊與 tags 使用,今天我們要教 Gitlab CI/CD 中的 artifacts,這可以幫助我們在 CI/CD 過程中,達到一個報告效果。我們這次在文章的最下方會提供我用 C# .Net Core Web Api 寫好的範本,供給大家使用,大家可以拿我的範例做練習。

artifacts 作用

artifacts 可以在我們 CI/CD 過程中可以拿到一份報告,比如說單元測試報告,或這是程式碼風格報告,我們可以拿這份報告查看測試結果,以便我們日後修改系統。

artifacts 定義規則

在工作區我們定義 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

補充 artifacts

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 可以看到測試報告結果,這時候你就可以直接拿這份報告給老闆。

教學文件

DotNetCoreWebApiCiAndCdCourse 教學專案下載地點

分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.