chriha / project-cli
v2.6.0
2020-12-14 17:06 UTC
Requires
- php: ^7.2
- ext-curl: *
- ext-intl: *
- ext-json: *
- ext-xml: *
- guzzlehttp/guzzle: ^6.3
- illuminate/container: ^5.8
- illuminate/support: ^5.8
- phlak/semver: ^2.0
- psr/log: ^1.1
- sensiolabs/security-checker: ^6.0
- symfony/console: ^4.3
- symfony/dotenv: ^4.3
- symfony/event-dispatcher: ^4.3
- symfony/process: ^4.3
- symfony/var-dumper: ^4.3
- symfony/yaml: ^4.3
README
ProjectCLI是一个将复杂任务转换为简单单条命令的命令行工具。它还可以帮助在所有项目中保持标准的项目结构。以下是使用ProjectCLI的一些好处:
- 在几秒钟内初始化、设置并启动整个环境(包括Web服务器、数据库、缓存、邮件服务器等)
- 使用单条命令设置甚至复杂的项目
- 在每个项目中使用(强制)相同的目录结构
- 减少每个开发者所需的命令数量
- 每个开发者都有相同的环境、工具和版本
- 更简单且带颜色的日志跟踪
- 编写自己的命令和插件以扩展ProjectCLI
- 简单的
/etc/hosts
和SSH配置管理
有关插件注册表、更多信息、文档和一些示例,请访问cli.lazu.io。
目录
入门
先决条件
- PHP CLI 7.2或更高版本(包括扩展:zlib、json、intl、xml、curl)
通过Homebrew安装依赖
$ brew install php@7.2
在Ubuntu上安装依赖
确保可用的版本满足要求
$ apt show php
如果不满足,请添加以下存储库
$ add-apt-repository -y ppa:ondrej/php && apt-get update
安装PHP CLI和扩展
$ apt install php-cli php-xml php-curl php-zip php-intl php-json
安装ProjectCLI
在安装所有依赖后,从此处获取最新的ProjectCLI版本,并将其移动到/usr/local/bin/project
或/usr/bin/project
,具体取决于您的系统。重启终端会话后,project
命令将可用。
更新
要手动更新ProjectCLI,只需使用project self-update
命令。
用法
为了让ProjectCLI正常运行,项目必须有相应的目录结构和文件。
项目结构
- commands
| Contains project specific commands, created via 'project make:command'
- conf
| Add configuration files for components (like nginx, PHP, crontab, supervisor, etc)
- scripts
| Can contain scripts for deployment, HTTP requests or other complex tasks
- src
| Contains the application src
- temp
| Directory for temporary files, such as docker-compose service mounts
创建新项目
project create NAME [--type=php|node|python] [--repository=URL_TO_YOUR_REPOSITORY]
克隆并自动安装现有项目
要为现有项目创建自动化设置,您需要通过project make:command SetupCommand
添加一个setup
命令。在handle()
方法中,您指定用于设置项目的命令(例如,复制环境文件、运行迁移、种子测试数据、编译静态文件等)。
project clone REPOSITORY_URL [DIRECTORY]
clone
命令将克隆存储库,并询问是否应该通过现有的setup
命令设置项目。
启动和停止环境及其服务
project [up|down|restart]
运行任何特定服务的命令
ProjectCLI将在相应的Docker服务中运行所有命令。
# for the web service project [artisan|composer|...] # for node / npm / npx project [node|npm|npx install|run|...]
显示服务状态和资源统计信息
project help status
日志记录
找到所有日志文件并查看应用程序的运行情况。如果文件太大,它还会警告您。
project help logs:tail
Xdebug
使用单条命令启用和禁用Xdebug。
project help php:xdebug
主机文件
列出、启用、禁用、添加、删除和检查主机是否存在
project help hosts
每次更改主机文件(例如,启用、禁用、添加、删除)时,都必须以sudo / root身份运行命令。
ProjectCLI将创建备份,但只保留最后两个版本。
Docker命令
使用您的docker-compose.yml
运行Docker Compose命令
project help docker:compose
在容器/服务内使用bash
project help shell
卸载
rm -rf $HOME/.project $(which project)