与在Docker Compose环境中运行的PHP应用交互的命令行工具

维护者

详细信息

github.com/shanginn/som

源代码

问题

安装次数: 2,247

依赖项: 0

建议者: 0

安全: 0

星标: 0

关注者: 2

分支: 0

开放问题: 0

语言:Shell

1.0.1 2023-08-28 04:35 UTC

This package is auto-updated.

Last update: 2024-08-28 06:58:00 UTC


README

som 是一个用于与在Docker Compose上运行的Symfony应用程序(我现在使用 API platform)交互的命令行实用程序。它提供了一系列有用的命令来管理您的应用程序,并使运行Symfony、PHP、Composer和Docker Compose命令变得简单,无需手动使用Docker命令。

受Laravel的 sail 工具的启发,som 旨在提供类似的功能,但专门为基于Symfony的项目设计。

系统要求

  • Docker和Docker Compose
  • bash
  • jq(可选,用于简写Composer脚本命令)

安装

composer require --dev shanginn/som

som 是一个bash脚本,它将被放置在 vendor/bin 文件夹中。您可以直接从那里使用它,但建议创建一个符号链接

ln -s vendor/bin/som som

用法

som COMMAND [options] [arguments]

未知命令将直接传递给Docker Compose。

Docker Compose命令

  • som up - 启动应用程序
  • som up -d - 在后台启动应用程序
  • som stop - 停止应用程序
  • som restart - 重新启动应用程序
  • som ps - 显示所有容器的状态

Symfony控制台命令

  • som console ... - 运行一个Symfony控制台命令

PHP命令

  • som php ... - 运行PHP代码片段
  • som php -v - 显示PHP版本

Composer命令

  • som composer ... - 运行Composer命令
  • som run ... - 运行Composer脚本(等同于 "composer run")

如果您已安装 'jq',并且您的 composer.json 中有,例如,'fix' 脚本,您可以运行

  • som fix

如果 composer.json 不在当前目录,请设置 COMPOSER_JSON_PATH 环境变量

运行测试

  • som test - 通过Artisan测试命令运行PHPUnit测试
  • som phpunit ... - 运行PHPUnit
  • som pest ... - 运行Pest

容器CLI

  • som shell - 在应用程序容器中启动shell会话
  • som bash - 'som shell' 的别名
  • som root-shell - 在应用程序容器中启动root shell会话
  • som root-bash - 'som root-shell' 的别名
  • TODO: som psysh - 启动新的psysh会话

二进制文件

  • som bin ... - 从 vendor/bin 目录运行Composer二进制脚本

帮助

  • som help - 显示帮助信息

环境变量

可以在您的 .env 文件中定义环境变量。以下变量由 SOM 脚本使用

  • HTTP_PORT: 您应用程序的HTTP端口(默认:80)
  • HTTPS_PORT: 您应用程序的HTTPS端口(默认:443)
  • HTTP3_PORT: 您应用程序的HTTP3端口(默认:443)
  • DOCKER_PHP_SERVICE: PHP的Docker服务名称(默认: "php")
  • DOCKER_DB_SERVICE: 数据库的Docker服务名称(默认: "database")
  • DOCKER_WEB_SERVER_SERVICE: Web服务器的Docker服务名称(默认: "caddy")
  • DB_PORT: 数据库端口(默认: 5432)
  • USER: Docker容器的用户ID(默认:当前用户的UID)
  • GROUP:Docker容器的组ID(默认:当前用户的GID)
  • DOCKER_COMPOSE_FILES:Docker Compose文件路径(如果多个文件,则以冒号分隔)
  • COMPOSER_JSON_PATH:composer.json文件的路径(默认:"composer.json")

贡献

欢迎贡献!请提交一个pull request或创建一个issue来讨论您想要进行的更改。