type
status
date
slug
password
summary
tags
category
icon
建立您的第一個工作流
在 GitHub.com 上的儲存庫中,在 .github/workflows 目錄中建立一個名為 github-actions-demo.yml 的工作流程檔案。去做這個:
如果 .github/workflows 目錄已存在,請導航至 GitHub 上的該目錄,按一下新增文件,然後按一下建立新文件,並將文件命名為 github-actions-demo.yml。
如果您的儲存庫沒有 .github/workflows 目錄,請前往 GitHub 上儲存庫的主頁,按一下新增文件,然後按一下建立新文件,並將文件命名為 .github/workflows/github-actions-demo。 yml。這一步驟即可建立 .github 和工作流程目錄以及 github-actions-demo.yml 檔案。
- 為了讓 GitHub 發現儲存庫中的任何 GitHub Actions 工作流程,您必須將工作流程檔案儲存在名為 .github/workflows 的目錄中。
- 您可以為工作流程檔案指定任何名稱,但必須使用 .yml 或 .yaml 作為檔案副檔名。 YAML 是一種常用於設定檔的標記語言。
簡單的HELLO WORLD!
name: Hello World
: 這是工作流程的名稱。
on: [push]
: 這定義了觸發此工作流程的事件是在 repository 上 push 任何變更。
jobs:
: 這是工作流程的主要部分,定義了一個名為hello-world
的 job。
runs-on: ubuntu-latest
: 這指定了此 job 將在最新版的 Ubuntu 虛擬機上運行。
steps:
: 這是 job 中將要執行的一系列步驟。
name: Output Hello World
: 這是一個步驟,會輸出文字 "Hello, World!"。使用run: echo "Hello, World!"
來實現這一點。
將以下 YAML 內容複製到 github-actions-demo.yml 檔案中:
name: GitHub Actions Demo
: 這是這個工作流程的名稱,可以讓你在 GitHub Actions 的網頁介面中輕鬆識別。
run-name: ${{ github.actor }} is testing out GitHub Actions 🚀
: 這是工作流程的運行名稱,會顯示在 GitHub Actions 的介面上。${{ github.actor }}
是一個上下文變數,會插入觸發此工作流程的使用者名稱。
on: [push]
: 這定義了觸發此工作流程的事件,在本例中是在 repository 上 push 任何變更。
jobs:
: 這是工作流程的主要部分,定義了一個名為Explore-GitHub-Actions
的 job。
runs-on: ubuntu-latest
: 這指定了此 job 將在最新版的 Ubuntu 虛擬機上運行。
steps:
: 這是 job 中將要執行的一系列步驟。
run: echo "🎉 The job was automatically triggered by a ${{ github.event_name }} event."
: 這是第一個步驟,會輸出一行文字,其中${{ github.event_name }}
是另一個上下文變數,會插入觸發此工作流程的事件名稱。
name: Check out repository code
: 這是一個使用actions/checkout@v4
動作的步驟,會將存儲庫的程式碼 clone 到運行器的工作目錄。
name: List files in the repository
: 這是另一個步驟,會列出工作目錄中的檔案。
run: echo "🍏 This job's status is ${{ job.status }}."
: 這是最後一個步驟,會輸出此 job 的狀態。
在此階段,您不需要了解此工作流程的詳細資訊。目前,您只需將內容複製並貼上到文件中即可。完成本快速入門指南後,您可以在 "About workflows"中了解工作流程文件的語法,以及 GitHub Actions 上下文的說明,例如 ${{ github.actor }} 和 ${{ github.event_name }} 可以閱讀 "Contexts."
cron schedule 定時觸發
寫入cron時間格式在ymal檔中,可以用下面的網站快速生成
- 分鐘 (0-59)
- 可以是一個數字 (0-59)
- 可以是一個範圍 (0-10)
- 可以是一個列表 (0,15,30,45)
- 可以使用
/n
來表示每 n 分鐘
- 小時 (0-23)
- 可以是一個數字 (0-23)
- 可以是一個範圍 (9-17)
- 可以是一個列表 (9,12,18)
- 可以使用
/n
來表示每 n 小時
- 日期 (1-31)
- 可以是一個數字 (1-31)
- 可以是一個範圍 (1-15)
- 可以是一個列表 (1,10,15)
- 可以使用
/n
來表示每 n 天
- 月份 (1-12 或 Jan-Dec)
- 可以是一個數字 (1-12)
- 可以是一個月份縮寫 (Jan-Dec)
- 可以是一個列表 (Jan,Mar,Dec)
- 星期幾 (0-6 或 Sun-Sat)
- 可以是一個數字 (0-6,0 代表星期日)
- 可以是一個星期縮寫 (Sun-Sat)
- 可以是一個列表 (Mon,Wed,Fri)
實際應用
之前在更新LeetCode表單內容的時候,一直需要手動填寫leetcode編號和名字,非常煩人。
所以這裡使用了一個Action來啟動py檔案,再由py檔寫入倉庫中更新

- Author:tom-ci
- URL:https://www.tomciheng.com//article/github%20action%20update
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!