iT邦幫忙

2026 iThome 鐵人賽

DAY 24
0
IT Operation

從零開始的 Linux 維運與 Bash 自動化實戰 30 天系列 第 24 篇

Day 24:CI/CD 自動化實戰——GitHub Actions 工作流程與 Shell 腳本自動化語法檢查

  • 分享至 

  • xImage
  •  

實作背景與維運觀念
在現代 DevOps 架構中,當腳本或程式碼推送至 GitHub 遠端儲存庫後,不應再透過人工手動執行測試,而應導入 CI/CD(持續整合 / 持續部署)管道自動處理。本次使用 GitHub 原生的 CI/CD 工具 GitHub Actions 設定工作流程(Workflow),當每次觸發 git push 時,雲端 Runner 會自動啟動 ShellCheck 靜態分析工具,自動檢查 Shell 腳本是否存在語法錯誤或潛在安全風險。

核心觀念與工具解析

  • GitHub Actions:GitHub 內建的自動化平台,支援基於事件觸發(如 push、pull_request)執行一系列自訂任務。
  • Workflow 設定檔:採用 YAML 格式,放置於專案根目錄的 .github/workflows/ 資料夾中,用以定義 CI/CD 的執行環境、觸發條件與具體步驟。
  • ShellCheck:專為 Shell 腳本打造的靜態程式碼分析工具,能精準指出未加引號的變數、廢棄語法與潛在死循環等問題。

實作
https://ithelp.ithome.com.tw/upload/images/20260925/20183847BiiOqFCicp.png

  • 建立 Workflow 資料夾
    在 devops-scripts 專案目錄下,建立隱藏資料夾 .github/workflows,用來存放 CI/CD 設定檔。
    提交變更並 Push 到 GitHub。
  • 執行 git add . 與 git commit,將新的 Workflow 設定檔納入版控,最後輸入 git push origin main 推送到遠端。
    https://ithelp.ithome.com.tw/upload/images/20260925/20183847dyrhhHD77Q.png
  • 寫 CI 配置文件(YAML)
    使用 nano 建立 shellcheck.yml,定義當程式碼推送到 main 分支時,自動啟動 ubuntu-latest 虛擬環境並執行 ShellCheck 語法檢查。
    https://ithelp.ithome.com.tw/upload/images/20260925/20183847GD9aGjcBGm.png
  • 開啟 GitHub 網頁,確認 Commit 紀錄旁出現綠色勾勾(✓),代表自動化測試已順利觸發且通過語法檢測。

上一篇
Day 23:版本控制實戰——建立 GitHub 儲存庫與首次程式碼 Push
下一篇
Day 25:Docker 容器化基礎——環境安裝與第一個 Nginx 容器運行
系列文
從零開始的 Linux 維運與 Bash 自動化實戰 30 天 共 30 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言