inquid / laravel-deployer
一个用于自动化Docker镜像创建的Laravel包。
v1.0.1
2024-09-28 20:40 UTC
Requires
- php: >=7.4
- illuminate/support: ^8.0|^9.0|^10.0|^11.0
This package is auto-updated.
Last update: 2024-10-02 05:39:03 UTC
README
一个Laravel包,用于构建包含运行所需所有内容的单例Docker镜像(PHP、MySQL、Nginx、Postgres、mailcatcher、redis、adminer),对于部署到测试团队或前端/客户端开发者非常有用。
安装
通过Composer安装包
composer require inquid/laravel-deployer
用法
您可以使用脚本以多种方式
-
Laravel Artisan命令
从Laravel项目的根目录运行命令
php artisan deployer:create-image-bundle {project_id} {dockerfile?} {repo_url?} {branch_name?}
project_id
:必需。将要创建的镜像名称。dockerfile
:可选。要使用的dockerfile文件。PHP 7.4、8.0、8.1、8.2、8.3可用(https://github.com/gogl92/docker-lemp/tree/deployer)[更多信息repo_url
:可选。包含基本镜像的仓库。branch_name
:可选。从仓库中获取Dockerfile的分支。
注意:在构建镜像时,该命令将创建一个应用镜像。
-
通过Vendor Bin
从vendor/bin执行脚本
vendor/bin/create-image-bundle {project_id} {dockerfile?} {repo_url?} {branch_name?}
-
直接从脚本
直接运行脚本
vendor/inquid/laravel-deployer/scripts/create-image-bundle.sh {project_id} {dockerfile?} {repo_url?} {branch_name?}
将创建一个Docker镜像并准备运行
docker run -p 8080:80 -p 8888:88 \
-e MYSQL_ROOT_PASSWORD=1234567890 -e MYSQL_DATABASE=appdb \
-e MYSQL_USER=dbuser -e MYSQL_PASSWORD=123456 \
--name lemp -d project_id
默认值
- Dockerfile:8.3.Dockerfile
- 仓库URL:https://github.com/gogl92/docker-lemp
- 分支名称:deployer
这些默认值在脚本中定义,以确保只有默认值的唯一来源。
要求
- PHP:>=7.4
- Laravel:8.x、9.x或10.x
- Docker:已安装并运行
- Git:已安装
- Rsync:已安装
重要提示
- 环境文件:确保您的项目根目录中有一个.env.staging文件。脚本在执行期间会将此文件复制到.env。此文件应包含应用程序所需的必要环境配置,请注意,凭证不应使用docker compose语法,而应使用127.0.0.1或localhost。
许可证
此包是开源软件,根据MIT许可证授权。
作者
Inquid SAS de CV
电子邮件:luisarmando1234@gmail.com