gbmcarlos / skellington
Requires
- php: ^7.2
- fideloper/proxy: ^4.0
- laravel/framework: 5.7.*
- dev-lumen
- v4.0.0
- v3.3.0
- v3.2.3
- v3.2.2
- v3.2.1
- v3.2.0
- v3.1.2
- v3.1.1
- 3.1
- 3.0
- 2.4.1
- 2.4.0
- 2.3.3
- 2.3.2
- 2.3.1
- 2.3.0
- 2.2.0
- 2.1.0
- 2.0.1
- 2.0
- dev-dependabot/composer/illuminate/database-7.30.6
- dev-dependabot/composer/guzzlehttp/psr7-1.9.1
- dev-dependabot/composer/symfony/http-kernel-5.4.20
- dev-dependabot/composer/guzzlehttp/guzzle-7.4.5
- dev-laravel
- dev-feature/lumen-lambda-upgrade
- dev-feature/laravel-lambda
- dev-feature/lambda
- dev-swoole
- dev-feature/localization
- dev-release/alpine-nginx
This package is auto-updated.
Last update: 2024-09-29 07:55:33 UTC
README
此骨架允许您在Docker容器中运行一个完整的Laravel或Lumen应用程序,完全开箱即用,并通过环境变量进行配置。
功能
- 作为Docker容器运行:一个依赖,一个工具,Docker。
- 基于Lumen 7的应用程序。
- 支持Xdebug
- 使用Make运行
make
或make run
将以Web服务运行项目make command ARGS={your command}
将以Artisan命令执行您的参数
- 使用环境变量配置运行时环境
- 使用
XDEBUG_
环境变量在本地调试
- 使用
如何安装它
curl -o- -s -L https://gbmcarlos.com/skellington.sh | bash
- 开始工作
设置
要求
- Docker
环境变量
每个项目都从文件src/.env
中读取其环境变量,该文件未通过git跟踪在仓库中。所需环境变量的列表保存在文件src/.env.example
中。
Crossbow
此项目将gbmcarlos/toolkit作为库使用,该库作为git子模块安装。
开发
Web服务
当在Web服务上工作时,请使用make
或make logs
。此脚本将
- 构建Docker镜像
- 运行Docker容器,挂载源和vendor文件夹的卷。这将
- 使依赖项(仅在容器内安装)对您的IDE可见。
- 使那些文件夹的所有更改立即在容器内反映出来
- 启动Web服务器
- 跟踪容器的输出
后台进程
当在后台进程上工作时,请使用make command ARGS={your command}
。此脚本将执行与make logs
相同的操作,但不会启动Web服务器,而是使用指定的Artisan命令和给定选项运行。例如
./local/run.sh my-command
配置环境变量
这些环境变量用于配置项目的构建和运行方式,它们在Dockerfile中具有针对生产优化的默认值。Makefile提供了针对本地开发优化的默认值,该值覆盖了Dockerfile中的值。
APP_PORT=8000 BASIC_AUTH_ENABLED=true BASIC_AUTH_USERNAME=user BASIC_AUTH_PASSWORD=secure_password XDEBUG_ENABLED=true make
运行命令
要运行您的Web服务容器内的任意命令,您可以使用
docker exec -it {container-name} bash -c "{command}"
或者您可以通过以下方式在容器中执行交互式终端
docker exec -it {container-name} bash
安装新包
安装新包时,请通过在容器内运行composer require {package}
让Composer选择确切的版本(请参阅“运行命令”部分)。然后从容器中提取composer.json
和composer.lock
(请参阅“更新依赖项”部分)。
更新依赖项
要更新依赖项,请在Web服务容器内运行composer update
(请参阅“运行命令”部分)。然后使用以下方式提取composer.lock
文件
docker cp {container-name}:/var/task/composer.lock .
更新NPM依赖项(仅限Laravel)
要更新NPM依赖项,请在Web服务容器内运行npm update
(请参阅“运行命令”部分)。然后使用以下方式提取package-lock.json
文件
docker cp {container-name}:/var/www/package-lock.json .
然后您可以将结果复制到您的.env
中,作为变量APP_KEY
的值
支持Xdebug
即使项目在Docker容器中运行,它仍然支持使用Xdebug进行调试。通过告诉Xdebug您的IDE的远程位置,并配置它以监听某个端口,它们可以相互通信。
使用XDEBUG_
环境变量来配置您的项目调试。本地启动脚本中的默认值针对Mac上的PhpStorm进行了优化。
Mac上的Xdebug for PhpStorm
查看此文档以配置您的IDE。使用XDEBUG_
和APP_NAME
环境变量以及路径映射
- "src":
/var/task/src
- "vendor":
/opt/vendor
技术栈
许可证
本项目受MIT许可证的条款约束。