如何使用 GitHub Actions 将 Laravel 应用自动部署到 DigitalOcean

发布日期:2026-05-17 10:04:04   浏览量 :0
发布日期:2026-05-17 10:04:04  
0

2026西湖龙井茶官网DTC发售:茶农直供,政府溯源防伪到农户家 

如何使用 GitHub Actions 将 Laravel 应用自动部署到 DigitalOcean

手动部署 Laravel 应用程序可能会变得重复繁琐,尤其是当您频繁向生产环境推送更新时。您可以使用 GitHub Actions 自动化部署流程,而无需每次通过 SSH 登录服务器。

在本指南中,您将学习如何设置一个简单的持续集成/持续部署(CI/CD)工作流,以便在每次向 main 分支推送更改时,自动将您的 Laravel 应用部署到 DigitalOcean Droplet。

通过此设置,您的工作流将如下所示:

推送到 main 分支 → GitHub Actions 运行 → SSH 连接至 Droplet → 拉取最新代码 → 安装依赖项 → 构建资源文件 → 运行数据库迁移 → 优化 Laravel → 重启队列工作者

所需准备

在开始之前,请确保您已具备以下条件:

  • 托管在 GitHub 上的 Laravel 应用程序

  • 运行 Ubuntu 系统的 DigitalOcean Droplet

  • Laravel 应用已在 Droplet 上配置并正常运行

  • 为 Laravel 应用配置的 Nginx 或 Apache

  • 服务器上已安装 PHP、Composer、Node.js 和 npm

  • 已在 .env 文件中配置数据库连接

  • 拥有对 Droplet 的 SSH 访问权限

  • 具备 GitHub 仓库设置的基本知识

为了提高安全性,建议使用专用的部署用户,而不是 root 用户。然而,为了简化设置,本指南在示例中将使用 root。如果您正在部署生产环境应用,建议创建一个具有有限访问权限的独立用户用于部署。

第一步:创建 Laravel 部署脚本

首先,在您的 package.json 文件中创建一个部署命令。这允许 GitHub Actions 在服务器上运行单个命令,而无需在工作流文件中直接编写所有部署命令。

打开您的 package.json 并添加以下脚本:

"scripts": {
  "deploy": "git pull && COMPOSER_ALLOW_SUPERUSER=1 composer install --no-dev --optimize-autoloader && npm ci && npm run build && php artisan migrate --force && php artisan config:cache && php artisan route:cache && php artisan view:cache && php artisan optimize"
}

如果您的项目没有 package-lock.json 文件,请使用 npm install 代替 npm ci

"scripts": {
  "deploy": "git pull && COMPOSER_ALLOW_SUPERUSER=1 composer install --no-dev --optimize-autoloader && npm install && npm run build && php artisan migrate --force && php artisan config:cache && php artisan route:cache && php artisan view:cache && php artisan optimize"
}

各命令的作用

免责声明:本文内容来自互联网,该文观点不代表本站观点。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请到页面底部单击反馈,一经查实,本站将立刻删除。

关于我们
热门推荐
合作伙伴
免责声明:本站部分资讯来源于网络,如有侵权请及时联系客服,我们将尽快处理
支持 反馈 订阅 数据
回到顶部