使用 GitHub 操作部署反应应用程序的问题
Posted
技术标签:
【中文标题】使用 GitHub 操作部署反应应用程序的问题【英文标题】:Problem with deploying react app using GitHub actions 【发布时间】:2021-12-19 13:15:06 【问题描述】:我正在尝试构建一个 GitHub 工作流,将我的反应网站和 php 后端部署到服务器(使用 FTP)。 FTP 部分有效。
我现在面临的问题是,我需要自动将我构建的前端反应到我的后端的文件结构中。
我在本地使用 Windows 并在我的 project.json 中 我通过使用移动构建的前端:
"build-webapp:win": "react-scripts build && RMDIR /S /Q webapp\\html\\static && move build\\static webapp\\html",
这也有效。
由于 GitHub 工作流在 ubuntu-latest 上运行,我实现了等效
"build-webapp:ci": "react-scripts build && rm -rf /webapp/html/static && mv /build/static /webapp/html"
当我在 GitHub 操作上运行它时,它给了我以下错误:
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! custom-react-vis-dashboard-v2@0.1.0 build-webapp:ci: `react-scripts build && rm -rf webapp/html/static && mv build/static webapp/html`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the custom-react-vis-dashboard-v2@0.1.0 build-webapp:ci script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /home/runner/.npm/_logs/2021-11-05T12_18_53_579Z-debug.log
Error: Process completed with exit code 1.
当我在 GitHub 操作中的“windows-latest”上使用 windows 命令时,我也会遇到同样的错误。
完整的工作流程如下所示:
name: Deploy to development
on:
push:
branches:
- devel
jobs:
deploy:
runs-on: ubuntu-latest
name: Build, Test and Deploy
steps:
- name: Checkout
uses: actions/checkout@v2
with:
persist-credentials: false
- name: Install
run: npm install
- name: Build Webapp
run: npm run build-webapp:ci
- name: List /build
run: ls ./build
- name: List /webapp
run: ls ./webapp
- name: Deploy webapp
uses: milanmk/actions-file-deployer@master
with:
remote-protocol: "sftp"
remote-host: $ secrets.FTP_SERVER
remote-user: $ secrets.FTP_USER
remote-password: $ secrets.FTP_PASSWORD
remote-path: "/development"
sync: "full"
local-path: "webapp/"
我对 GitHub 操作主题还很陌生,所以我希望有人可以帮助我。
谢谢
【问题讨论】:
【参考方案1】:好的,我自己解决了,也许这对其他人有帮助:
问题不在于 rm 和 mv,而是 npm 警告将在此处被视为错误。禁用添加 CI=false 到命令:
"build-webapp:ci": "CI=false && react-scripts build && rm -rf webapp/html/static && mv build/static webapp/html"
【讨论】:
以上是关于使用 GitHub 操作部署反应应用程序的问题的主要内容,如果未能解决你的问题,请参考以下文章
使用 firebase-functions 部署基于反应的 s-s-r 应用程序时出错
npm 错误!缺少脚本:将反应应用程序部署到heroku时构建