You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否实现GitHub推送后自动构建React应用并部署到GoDaddy服务器

GoDaddy类共享主机React应用自动构建部署方案

完全可以实现和Netlify一致的「推代码到GitHub就自动发布」的效果,不用每次手动build、传文件,根据你的主机权限选下面的方案就行,最通用的方案对主机几乎没额外要求。

方案一:GitHub Actions 自动构建+SFTP上传(最推荐,90%以上共享主机可用)

这个方案不需要你在共享主机上装任何环境,构建过程在GitHub的服务器上跑,构建完自动把产物传到你主机的对应目录,只要你的主机开了SFTP/FTP就能用。

  • 先准备必要信息
    • 确认主机SFTP/FTP地址、账号、密码,cPanel面板里的「FTP账户」选项里就能查到
    • 确认站点根目录路径,根域名一般是/public_html/,子域名/子目录对应调整路径就行
  • 给GitHub仓库配置密钥
    打开你React项目的GitHub仓库,进入Settings -> Secrets and variables -> Actions,新建以下几个仓库密钥:
    • HOST:SFTP服务器地址
    • USERNAME:SFTP登录账号
    • PASSWORD:SFTP登录密码
    • REMOTE_PATH:站点根目录的绝对路径
  • 写工作流配置
    在项目根目录新建路径.github/workflows/deploy.yml,粘贴下面的配置,根据自己的项目情况改注释里提到的参数就行:
name: 自动部署React应用
on:
  push:
    branches: [ main ] # 改成你实际用来部署的分支,比如main、master,推代码到这个分支就自动触发流程
jobs:
  build-and-deploy:
    runs-on: ubuntu-latest
    steps:
      - name: 拉取代码
        uses: actions/checkout@v4
      - name: 配置Node环境
        uses: actions/setup-node@v4
        with:
          node-version: 20 # 和你本地开发用的Node大版本保持一致,避免构建出问题
          cache: 'npm'
      - name: 安装依赖
        run: npm ci
      - name: 构建项目
        run: npm run build
      - name: 上传构建产物到主机
        uses: appleboy/sftp-action@v1
        with:
          host: ${{ secrets.HOST }}
          username: ${{ secrets.USERNAME }}
          password: ${{ secrets.PASSWORD }}
          port: 22 # SFTP默认端口是22,如果你主机改了端口对应修改
          source: ./build/* # Create React App生成的项目默认产物在build文件夹,Vite项目改成./dist/*
          target: ${{ secrets.REMOTE_PATH }}
          overwrite: true
          delete: true # 上传前先清空目标目录的旧文件,避免旧缓存、旧文件导致站点异常

配置完提交一次代码到对应分支,GitHub就会自动跑构建、部署流程,后续所有推送到该分支的代码都会自动发布,和Netlify的体验一致。

方案二:cPanel自带Git部署(适合主机已预装Node的情况)

如果你的GoDaddy共享主机cPanel里有「Git Version Control」和「Setup Node.js App」两个功能,可以直接用主机自带的部署能力,不用走GitHub Actions:

  1. 在cPanel里打开Git Version Control,创建新仓库,关联你GitHub上的React项目仓库,填好部署分支、部署目录
  2. 在项目根目录新建.cpanel.yml配置文件,定义主机拉取代码后的执行步骤:
---
deployment:
  tasks:
    - export PATH=/opt/cpanel/ea-nodejs20/bin:$PATH # 改成你主机上Node的实际路径
    - npm ci
    - npm run build
    - rm -rf /home/你的主机账户名/public_html/*
    - cp -r build/* /home/你的主机账户名/public_html/ # Vite项目把build改成dist

配置完之后,每次你推代码到GitHub,cPanel会自动拉取最新代码,执行构建命令,把产物拷到站点目录,完成部署。

常见问题处理

  • 部署完刷新前端路由报404:在站点根目录放一个.htaccess文件,配置React Router的重写规则,把所有请求都重定向到index.html就行
  • SFTP连接失败:先在本地用FileZilla这类SFTP客户端测试能不能正常连主机,部分主机会默认开启SSH IP白名单,要么把白名单关掉,要么把最后上传步骤的SFTP换成FTP协议,对应换FTP的action就行,配置逻辑完全一致
  • 构建出来的页面白屏:检查配置里的构建产物路径是不是写对了,Create React App是build目录,Vite是dist目录,别搞混

内容的提问来源于stack exchange,提问作者Naima Ghulam.M

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 21:15:19