Then Notes 隨筆

GitHub Actions 基礎介紹

cover

GitHub Actions 是由 GitHub 提供的服務,用於在 GitHub 建置、測試、封裝、發佈或部署任何專案。並可藉此建置端對端 (end-to-end) CI/CD 功能,即持續整合/持續交付 (微軟譯為持續傳遞) 服務。

核心概念

特點

虛擬環境所含軟體

環境變數

加密變數

github_actions_env_variables

由於設定值非常繁複,建議依自己的需求到 GitHub Docs 查詢。

以下是筆者每天用來執行一些 Python 腳本的設定檔,可以自行參考:

name: Login to website

on:
  # push 到 master 分支時會觸發
  push:
    branches:
      - master
  # 排程每天 UTC 16:30 (台灣時間 0:30) 時觸發
  # 語法可上 crontab.guru 查詢
  schedule:
    - cron: 30 16 * * *

jobs:
  build:
    name: Set up environment
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v1
      - name: Set up Python 3.8
        uses: actions/setup-python@v1
        with:
          python-version: "3.8"
      - name: Install dependencies
        run: |-
          python -m pip install --upgrade pip
          pip install -r requirements.txt
      - name: Login
        env:
          # 取得在 Secrets 所設定的加密變數
          USERNAME: ${{ secrets.USERNAME }}
          PASSWORD: ${{ secrets.PASSWORD }}
        run: python main.py

設定完後放入 .github/workflows/檔案名稱.yml,檔案名稱好記即可。

之後就可以切換到 [Actions] 分頁中看看如果觸發了前面 on: 設定的某事件 (push、排程時間等等) 後,有沒有正確執行吧!

github_actions_logs