TGViewer
开发者工具箱|编程·开发工具·资源 开发者工具箱|编程·开发工具·资源 @devtoolboxhub · 779 subscribers
Post #1533 13
用 GitHub Actions 自动部署 Laravel + Vue 到 cPanel

每次改完代码都要手动打包 ZIP、上传 cPanel、解压、跑迁移、清缓存,部署时间远超编码时间。这套方案让你只需 git push,GitHub Actions 自动完成构建、上传、迁移和健康检查。

工作流会在每次推送到 main 分支时:安装 Laravel 生产依赖、构建 Vue 和 Vite 资源、打包应用、通过 SSH 连接 cPanel、上传并解压新版本、保留生产环境的 .env 和 storage 目录、运行数据库迁移和 Laravel 优化命令、重启队列 worker、检查生产站点是否正常响应。

关键步骤:在 cPanel 生成 SSH 密钥并添加为 GitHub 仓库的 Deploy Key → 在本地生成另一对密钥,公钥加入 cPanel 授权,私钥存入 GitHub Secrets → 在仓库创建 production 环境并配置 CPANEL_SSH_PRIVATE_KEY、CPANEL_SSH_HOST、CPANEL_SSH_PORT 等 Secrets 和 APP_DIR、CPANEL_USER、PHP_BIN、APP_URL 等 Variables → 在 .github/workflows/ 下创建 deploy-cpanel.yml 工作流文件。

工作流会排除 .env、storage、public/storage、public/.well-known 等目录,确保数据库凭据、用户上传、日志等不被覆盖。安全提醒:不要将敏感信息放入 VITE_ 开头的变量,不要提交 .env 文件,不要使用 chmod 777。


首次配置需要仔细处理 SSH 密钥、路径、PHP 版本和生产环境密钥。配置完成后,日常部署简化为 git add .、git commit -m "描述变更"、git push origin main,GitHub Actions 自动完成后续所有步骤。

#开发者 #工具 #Laravel #Vue #GitHubActions #cPanel #PHP #DevOps #CICD #自动化部署
@DevToolboxHub
More from @devtoolboxhub
  1. Sep 27, 2026竞品关键词调研的自动化流程 从竞品差距分析导出两万个关键词,约一半只是同一词换了词序。真正的瓶颈在导出之后那一小时:一个好问题变成一堵近似重复词组成的墙,外加三种不同口径的搜索量。…
  2. Sep 26, 2026PostgreSQL 复制槽上限参数 max_replication_slots 解析 max_replication_slots 决定共享内存中复制槽数组的长度,仅此而已。它不决…
  3. Sep 26, 2026五仓库架构踩坑:Gitlink 与双 CI Flude 团队复盘了多仓库架构的实践代价。项目从第一分钟起就选择拆分成独立仓库,Pipeline、engine、design-docs…
  4. Sep 26, 2026Xeno Core:TypeScript 后端架构框架 Node.js 复杂系统的架构选型往往决定代码的长期命运。开发者常在两条路之间纠结:要么依赖重度使用实验性装饰器和反射(如…
  5. Sep 25, 2026用 SLO 给 AI Agent 的行为定个预算 Grafana Labs 提出把可靠性工程里的错误预算(error budget)思路用到 AI Agent 上。延迟、token…
  6. Sep 25, 2026Xcode 27.2 改用 JSON 项目格式 Xcode 27.2 用基于 JSON 的 project.xcproj 取代了沿用多年的 project.pbxproj。新建项目…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →