.NET Github Actions 入門

Github Actions 是 Github 提供的一種持續集成(CI)和持續部署(CD)工具,可以自動化代碼開發、測試、構建和部署的過程。它可以在代碼倉庫中通過配置文件來定義工作流程(Workflow),包括觸發事件、執行任務和處理結果等。這些工作流程可以與Github倉庫的其他功能(如Issues、Pull Requests等)集成,也可以使用第三方工具進行擴展。

使用 Github Actions 可以極大地簡化和自動化軟件開發和發佈流程,同時提高生產力和代碼質量。因爲它可以自動化許多常見的任務,例如測試代碼、構建代碼、打包應用程序、發佈到生產環境等等。同時,Github Actions 也可以與其他工具集成,例如 Docker、AWS 等等,使得開發者可以更加方便地使用這些工具來完成自己的工作。

前言 By ChatGPT

1.入門知識

使用 Github Action 需要在倉庫的根目錄創建 .github/workflows 文件夾,在裏面使用 yaml 定義 Github Action 工作流。

如圖所示:

image-20230306224304374

Github Actions 官方文檔:https://docs.github.com/en/actions

2.運行流程

Github Actions 的工作流程大概可以分爲 3 步:簽出代碼、 安裝運行環境、執行各種操作。

image-20230306225414105

3.Hello World

workflows目錄下創建名爲 dotnet.yml 的文件:

name: .NET

# 定義觸發條件
on:
  # 觸發動作 push
  push:
    # 觸發分支 main
    branches: [ "main" ]
  # 觸發動作 pr
  pull_request:
    # 觸發分支 main
    branches: [ "main" ]

# 定義 Job
jobs:
  # Job 名:build
  build:
    # 運行 Job 的 OS 環境
    runs-on: ubuntu-latest
    # 執行 Job 對應的步驟
    steps:
      # 簽出代碼
    - uses: actions/checkout@v3
    - name: Setup .NET
      # 安裝 dotnet 7.0.x
      uses: actions/setup-dotnet@v3
      with:
        dotnet-version: 7.0.x
      # 還原包
    - name: Restore dependencies
      run: dotnet restore
      # 執行 Build
    - name: Build
      run: dotnet build --no-restore

以上定義了一個名爲 build 的 Job,Job 會在 Push 或者 Pr 時運行,簽出代碼->安裝 .NET 7->執行 dotnet build。Build 可以保證我們提交的代碼是可以編譯通過的。

這時進入 Github->倉庫->Actions 便會看到我們創建的 Action。

image-20230307002045957

我們可以直接點擊 commit 前面的小圖標進入 Action 運行詳情:

image-20230307002316755

棕色表示執行中,執行成功會變爲綠的的 √,執行失敗則會變爲紅色的 X。

image-20230307002437082

提交一個 PR 觀察是否會被觸發:

image-20230307002852663

可以看到向 main 分支創建的 PR 成功的觸發了執行,並且後續的關聯 PR 分支的提交都會被觸發執行 Action。

image-20230307003025433

4.快捷創建

Github 以及第三方社區,提供了一些便捷的工作流模板可以供我們使用:

image-20230307003259147

可以搜索到符合要求的 Action,然後點擊 Configure 即可。

5.結束

Github Actions 可以接管許多常見的任務,比如測試代碼、構建代碼、打包等,可以節省時間和精力,提高效率。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章