Github Actions - 将文件复制到 VPS

问题描述 投票:0回答:2

我想在小型 VPS 提供商那里解决这个问题:

Github worflow,当将文件推送到 GitHub 时,“GH 工作流程”会将 php 文件复制到实时 VPS 服务器。

如何复制它们?

.github/workflows/vps-deploy-prod.yml

name: vps-deploy-prod

on:
  push:
    branches:
      - master

jobs:

  build: 'VPS Run Deploy'
  runs-on: ubuntu-latest    
  steps:
    - name: 'Checkout'
      uses: action/checkout@master
    - name: 'Deploy'
      run: make vps-run-deploy

Makefile:

##### VPS specific target
vps-run-deploy:

?? copy files via ssh scp...?
github ssh copy github-actions
2个回答
5
投票

您可以考虑 GitHub 操作

appleboy/scp-action

GitHub Action,用于通过 SSH 复制文件和工件。

这是该项目中的一个示例:

renatomh/gobarber-backend/.github/workflows/main.yml

      # Copy the repository to the directory on the server/VPS used for the application
      - name: Copy dist to VPS
        uses: appleboy/scp-action@master
        with:
          host: ${{ secrets.SSH_HOST }}
          username: ${{ secrets.SSH_USER }}
          port: ${{ secrets.SSH_PORT }}
          key: ${{ secrets.SSH_KEY }}
          # Selecting all folders except "node_modules"
          source: ".,!node_modules"
          # The path is based on the directory where the user logged into the server starts
          target: "~/app/gobarber-backend"

-3
投票

要使用 GitHub Actions 将文件复制到 VPS,您可以设置一个工作流程,通过 SSH 连接到服务器并使用 rsync 或 scp 传输文件。以下是如何在 GitHub Actions 工作流程中进行配置的示例:

生成 SSH 密钥:生成密钥对并将公钥添加到您的 VPS 中

~/.ssh/authorized_keys
文件。

将 SSH 密钥添加到 GitHub Secrets:将私钥存储在 GitHub 存储库机密中,如下所示

SSH_PRIVATE_KEY

GitHub Actions 工作流程:

name: Deploy to VPS

在: 推: 分支机构: - 主要

工作: 部署: 运行:ubuntu-latest

steps:
- name: Checkout code
  uses: actions/checkout@v2

- name: Setup SSH
  run: |
    mkdir -p ~/.ssh
    echo "$SSH_PRIVATE_KEY" | tr -d '\r' > ~/.ssh/id_rsa
    chmod 600 ~/.ssh/id_rsa

- name: Copy Files to VPS
  env:
    VPS_USER: your_vps_user
    VPS_HOST: your_vps_host
  run: |
    rsync -avz -e "ssh -o StrictHostKeyChecking=no" ./path/to/local/files/ ${VPS_USER}@${VPS_HOST}:/path/to/remote/directory

此设置将在每次推送到

main
分支时触发,将文件从存储库复制到 VPS。

如果您正在寻找 VPS 提供商,性能和稳定性对于部署任务非常重要。 SSD Nodes 等提供商提供可靠的VPS 服务器、高性能 VPS 选项,可以简化像这样的持续部署设置。只需确保您的提供商支持 SSH 访问并具有良好的网络速度以实现无缝文件传输。

© www.soinside.com 2019 - 2024. All rights reserved.