首页 > 解决方案 > 使用 Github Actions Script 通过 SSH 服务器持续更新 React App 部署

问题描述

目标:使用 github 操作更新 React 应用程序以在存储库更新后创建新构建

上下文:应用程序目前正在我的 VPS 上运行。

问题:我找到了这个基本脚本

name: Deploy

on: [push]

jobs:
  build:

    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v1

    - name: Copy repository contents via scp
      uses: appleboy/scp-action@master
      env:
        HOST: ${{ secrets.HOST }}
        USERNAME: ${{ secrets.USERNAME }}
        PORT: ${{ secrets.PORT }}
        KEY: ${{ secrets.SSHKEY }}
      with:
        source: "."
        target: "YOUR BUILD DIRECTORY"

    - name: Executing remote command
      uses: appleboy/ssh-action@master
      with:
        host: ${{ secrets.HOST }}
        USERNAME: ${{ secrets.USERNAME }}
        PORT: ${{ secrets.PORT }}
        KEY: ${{ secrets.SSHKEY }}
        script: 

我的秘密工作,我能够通过 SSH 连接到我的服务器。但是,由于我的构建已经启动并运行,将 repo 复制到目录中会遇到错误

Cannot open: file exists
Cannot open: permission denied

前者是由于应用程序的存在。后者是由于 SSH 访问非 root 用户(我认为?)。

构建脚本来执行此操作的最佳方法是什么?我是否必须完全删除服务器上的当前构建目录然后构建它?替换已经复制的 git repo?我对这一切都很陌生,所以我不确定是否有更简单的方法来做到这一点。

谢谢。

标签: reactjsubuntucreate-react-appgithub-actionsvps

解决方案


推荐阅读