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