本人github
使用 GitHub Actions 自动部署代码到 VPS 主要包括创建一个 workflow 文件,该文件描述了触发条件和部署步骤。下面是一个基本的示例,展示了如何配置 GitHub Actions 将代码自动部署到 VPS:
-
创建 SSH 密钥:
- 在你的本地机器上,使用
ssh-keygen
创建一个新的 SSH 密钥对。不要为此密钥对设置密码。 - 将公钥(
.pub
文件)添加到你的 VPS 的~/.ssh/authorized_keys
文件中。 - 将私钥添加到你的 GitHub 仓库的 Secrets 中。例如,将其命名为
DEPLOY_SSH_KEY
。
- 在你的本地机器上,使用
-
创建 GitHub Actions Workflow 文件:
- 在你的 GitHub 仓库中创建一个新的 workflow 文件,例如
.github/workflows/deploy.yml
。 - 在该文件中,定义一个新的 workflow,如下所示:
- 在你的 GitHub 仓库中创建一个新的 workflow 文件,例如
name: Deploy to VPS
on:
push:
branches:
- main # 或者你想要部署的分支
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Deploy to VPS
env:
DEPLOY_SSH_KEY: ${{ secrets.DEPLOY_SSH_KEY }}
HOST: your-vps-ip-or-domain
USER: your-vps-username
PORT: your-vps-ssh-port # 例如 22
run: |
echo "$DEPLOY_SSH_KEY" > deploy_key.pem
chmod 600 deploy_key.pem
ssh -o StrictHostKeyChecking=no -i deploy_key.pem $USER@$HOST -p $PORT "cd /path/to/your/project; git pull"
rm -f deploy_key.pem
-
配置你的 VPS:
- 确保你的 VPS 上的 git 仓库已经克隆,并且配置为从你的 GitHub 仓库中拉取代码。
-
推送代码:
- 将你的 GitHub Actions workflow 文件推送到你的 GitHub 仓库。
- 以后每当你向
main
分支(或你在 workflow 文件中指定的其他分支)推送代码时,GitHub Actions 将自动将代码部署到你的 VPS。
这只是一个非常基本的示例,你可能需要根据你的具体情况和需求进行调整。例如,你可能想要添加额外的步骤来运行测试、构建你的项目、或者重启你的服务器上的服务。