我如何使用 GitHub Actions 免费运行 24/7 自动化(无需服务器)
发布: (2026年2月4日 GMT+8 07:57)
3 分钟阅读
原文: Dev.to
Source: Dev.to
介绍
我厌倦了为只运行简单计划脚本的服务器付费。VPS 的 cron 任务每月可能要花 5–20 美元,而 AWS Lambda 则增加了复杂性并且偶尔会出现意外账单。GitHub Actions 在免费层提供 每月 2,000 分钟免费额度——足以每 2 小时运行一次脚本,全年 24/7,费用为 $0。
GitHub Actions 工作流
在你的仓库中创建文件 .github/workflows/automation.yml:
name: 24/7 Automation
on:
schedule:
- cron: '0 */2 * * *' # Every 2 hours
workflow_dispatch: # Manual trigger
jobs:
run:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.11'
- run: pip install requests
- run: python your_script.py
env:
API_KEY: ${{ secrets.API_KEY }}
常见使用场景
- 价格监控 – 跟踪竞争对手的价格并发送警报。
- 内容聚合 – 从 API 拉取数据并生成报告。
- 健康检查 – ping 服务并在出现故障时发出警报。
- 数据备份 – 从一个服务导出数据并推送到另一个服务。
免费层限制
| 功能 | 免费层限制 | 备注 |
|---|---|---|
| 每月分钟数 | 2,000 | 将单个脚本保持在约 5 分钟以内。 |
| 并发作业数 | 20 | 使用 workflow_dispatch 可排队额外运行。 |
| 最小 cron 间隔 | 5 分钟 | 对大多数监控任务已足够。 |
| 仓库活跃度 | 最近 60 天内必须活跃 | 如有需要,可添加轻量级 “keep‑alive” 工作流。 |
使用 ntfy.sh 推送通知
你可以使用 ntfy.sh 向手机发送免费推送通知:
import requests
def alert(message):
requests.post(
"https://ntfy.sh/your-topic",
data=message,
headers={"Priority": "high"}
)
现在,每当你的自动化检测到重要事件时,你都会收到手机提醒。
工作流模板
- 免费入门版 – 1 个工作流 + 指南
- 完整套装 – $79,包含 3 个工作流 + Python 脚本
免费版已经足够入门。获取后自行修改并部署使用。
问题
如果有任何疑问,请在评论区留言。我已经使用该方案运行了数月,乐意帮助排查问题。