chriha/project-cli

v2.6.0 2020-12-14 17:06 UTC

README

Release build

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)