reactjs - 使用 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?我对这一切都很陌生,所以我不确定是否有更简单的方法来做到这一点。
谢谢。
解决方案
推荐阅读
- tensorflow - Keras 没有引发 TensorFlow 错误?
- c# - Outlook Redemption 组件 - 参数数量无效
- javascript - 如何添加到 Postmates 中的数组然后导出?
- asp.net-core - asp.net 核心依赖注入问题 - AddScoped 未创建新实例
- oracle - oracle 配置文件变量 PS1
- java - 如何将 uint8_t * 转换为 jbyteArray jni android
- javascript - 有没有办法在 es6 中将对象解构为新对象?
- javascript - 使用 jQuery 更改未选中复选框文本的颜色
- webpack - 我在 Tailwind 和 Vuejs 项目中的 main.css 文件存在问题
- java - 缺少工件 org.hibernate:hibernate-core