inquid/laravel-deployer

一个用于自动化Docker镜像创建的Laravel包。

v1.0.1 2024-09-28 20:40 UTC

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

用法

您可以使用脚本以多种方式

  1. 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的分支。

    注意:在构建镜像时,该命令将创建一个应用镜像。

  2. 通过Vendor Bin

    从vendor/bin执行脚本

    vendor/bin/create-image-bundle {project_id} {dockerfile?} {repo_url?} {branch_name?}
  3. 直接从脚本

    直接运行脚本

    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

默认值

这些默认值在脚本中定义,以确保只有默认值的唯一来源。

要求

  • 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