GitHub Actions 入门:自动化你的开发流程
一、GitHub Actions 是什么?
GitHub Actions 是 GitHub 内置的自动化工具,每当代码发生 push、PR、release 等事件时,可以自动执行操作。免费额度:开源仓库无限使用,私有仓库每月 2000 分钟。
二、核心概念
| 概念 | 说明 |
|---|---|
| Workflow | 一个自动化流程,放在 .github/workflows 目录 |
| Job | 工作流中的一个步骤,可以并行运行 |
| Step | 任务中的具体操作 |
| Runner | 执行任务的机器 |
三、第一个 Workflow
name: Hello World
on:
push:
branches: [ main ]
jobs:
greet:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Say hello
run: echo "Hello! Code just pushed!"四、自动部署到服务器
name: Deploy to Server
on:
push:
branches: [ main ]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: appleboy/ssh-action@v0.1.10
with:
host: ${{ secrets.SERVER_HOST }}
username: ubuntu
key: ${{ secrets.SERVER_SSH_KEY }}
script: |
cd /var/www/mysite
git pull origin main
sudo systemctl reload nginx五、配置密钥(Secrets)
敏感信息存在 GitHub:Settings - Secrets and variables - Actions - New repository secret。添加 SERVER_HOST 和 SERVER_SSH_KEY。
六、常见错误
Permission denied (publickey):SSH 密钥没配置好。确保 Secrets 里私钥正确,且对应公钥已加到服务器 ~/.ssh/authorized_keys。