GitLab CI/CD 之 artifacts

前言

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

教學文件

留言

此網誌的熱門文章

Docker 之如何安裝 Docker 容器

Gitlab CI/CD 什麼是 CI/CD

Docker 之建立與使用 Docker Image 清理本地 Image