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 工作流。
如圖所示:
Github Actions 官方文檔:https://docs.github.com/en/actions
2.運行流程
Github Actions 的工作流程大概可以分爲 3 步:簽出代碼、 安裝運行環境、執行各種操作。
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。
我們可以直接點擊 commit 前面的小圖標進入 Action 運行詳情:
棕色表示執行中,執行成功會變爲綠的的 √,執行失敗則會變爲紅色的 X。
提交一個 PR 觀察是否會被觸發:
可以看到向 main 分支創建的 PR 成功的觸發了執行,並且後續的關聯 PR 分支的提交都會被觸發執行 Action。
4.快捷創建
Github 以及第三方社區,提供了一些便捷的工作流模板可以供我們使用:
可以搜索到符合要求的 Action,然後點擊 Configure 即可。
5.結束
Github Actions 可以接管許多常見的任務,比如測試代碼、構建代碼、打包等,可以節省時間和精力,提高效率。