iT邦幫忙

2025 iThome 鐵人賽

DAY 6
0
自我挑戰組

用 Discord Bot 玩轉 DevOps系列 第 6

淺談 github actions workflow

  • 分享至 

  • xImage
  •  

在認識過GitHub Actions後,接下來要講一個非常核心的東西--Workflow,因為 GitHub Actions 的自動化流程,Workflow扮演了不可或缺的角色


什麼是GitHub Actions workflow

workflow是一個用YAML語法撰寫的自動化流程檔案,會存放在我們專案中創的.github資料夾裡
當觸發github actions時會自動執行workflow中的內容,如此一來將減少人工的操作提升效率,它可以應用於多元的場景例如:

  • CI/CD:程式碼提交程式碼提交 → 自動測試 → 自動部署
  • 自動通知:系統錯誤 → 自動發 Slack / Email
  • 資料處理:每天排程 → 自動跑 ETL → 匯出報表
  • 基礎建設管理:Terraform workflow → 自動建雲端資料
    未來根據我的主題內容也會新增多種功能以運用discord來進行專案的追蹤及統整等

Workflow的基本架構

Name

Workflow 的名稱,用來識別

name: CI Pipeline

on(觸發條件 / Events)

決定 Workflow 何時執行,例如:

  • push:程式碼推上來時
  • pull_request:有人送 PR 時
  • schedule:定時任務
on:
  push:
    branches: [ "main" ]
  pull_request:

jobs(工作)

一個 Workflow 可以有多個 Job,而Job間可以平行執行也可以彼此相依

jobs:
  build:
    runs-on: ubuntu-latest

steps(步驟)

Job 裡的細節任務

steps:
  - uses: actions/checkout@v3
  - name: Run Tests
    run: npm test

runner(執行環境)

可以是GitHub 提供的虛擬機(Linux, Windows, macOS),也可以自己架設 self-hosted runner


上一篇
安全部署 Discord Bot
下一篇
實現簡單的workflow
系列文
用 Discord Bot 玩轉 DevOps9
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言