droath / project-x
管理项目开发工作流程。
2.3.6
2018-04-30 00:58 UTC
Requires
- php: >=5.5
- boedah/robo-drush: ^3.0
- consolidation/robo: ^1.0
- droath/console-form: ~0.0.7
- droath/hostsfile-manager: ^0.0.1
- droath/robo-docker-compose: ^0.0.7
- droath/robo-docker-sync: ^0.0.1
- droath/robo-github: ^0.0.2
- droath/robo-google-lighthouse: ^1.0
- fitbug/symfony-yaml-serializer-encoder-decoder: ^0.1.1
- geerlingguy/ping: ^1.1
- paragonie/random_compat: ^2.0
- symfony/cache: ^3.2
- symfony/console: ^2.8|^3.0
- symfony/finder: ^2.8|^3.0
- symfony/property-access: 2.8|^3.0
- symfony/serializer: 2.8|^3.0
- symfony/yaml: 2.8|^3.0
Requires (Dev)
- mikey179/vfsstream: ^1.6
- phpunit/phpunit: ^5.5
- squizlabs/php_codesniffer: ^2.8
- 2.3.6
- 2.3.5
- 2.3.4
- 2.3.3
- 2.3.2
- 2.3.1
- 2.3.0
- 2.2.22
- 2.2.21
- 2.2.20
- 2.2.19
- 2.2.18
- 2.2.17
- 2.2.16
- 2.2.15
- 2.2.14
- 2.2.13
- 2.2.12
- 2.2.11
- 2.2.10
- 2.2.9
- 2.2.8
- 2.2.7
- 2.2.6
- 2.2.5
- 2.0.x-dev
- 0.2.4
- 0.2.3
- 0.2.2
- 0.2.1
- 0.2.0
- 0.1.9
- 0.1.8
- 0.1.7
- 0.1.6
- 0.1.5
- 0.1.4
- 0.1.3
- 0.1.2
- 0.1.1
- 0.1.0
- 0.0.9
- 0.0.8
- 0.0.7
- 0.0.6
- 0.0.5
- 0.0.4
- 0.0.3
- 0.0.2
- 0.0.1
- dev-feature/93-project-x-network-proxy
This package is auto-updated.
Last update: 2024-09-20 05:11:09 UTC
README
Project-X旨在缩短开发人员设置本地开发实例所需的时间。它通过自动化大多数设置任务来实现这一点,这些任务可以通过CLI执行。
Project-X从头开始采用可插拔概念。这将允许开发人员将构建工具塑造成符合项目需求。project-x的核心建立在Robo之上,这是一个现代的PHP任务运行器。这允许我们有巨大的灵活性和定制性,我们能够利用这些特性而不必重新发明轮子。
项目类型
目前我们只支持Drupal项目类型。我们计划支持其他流行的基于PHP的项目,例如Laravel、Symfony和Wordpress。在这些项目中,您可以使用应用程序架构的可插拔特性创建自己的项目类型。
环境引擎
Docker是我们的首选环境引擎。我们计划扩展这项支持,但我们正在等待看devopts今年会移动到何处。环境引擎是可插拔的,可以根据项目特定需求进行扩展。
功能
- 支持Docker服务,允许在不编写一行代码的情况下交换不同的服务。
- 支持开发构建过程和部署到GitHub仓库。
- 快速设置CI服务,Probo CI和Travis CI。
- 与GitHub集成,以改进开发人员的工作流程。
- 将环境引擎和基础设施配置与项目一起使用。
- 基于可自定义的预配置模板设置项目。
- 轻松设置测试工具如
behat
和php-unit
。 - 确保开发人员遵循代码规范,使用代码嗅探器。
- 在核心命令运行前后执行项目特定命令。
Project-X在项目设置上试图采用极简主义方法。主要目标是保持项目配置膨胀最小。如果您不需要特定的功能,不要添加它,直到您真正需要它,因为所有功能都可以在项目后期添加。
入门
mkdir my-project && cd my-project
composer init
composer require --dev droath/project-x
./vendor/bin/project-x init
./vendor/bin/project-x project:setup
配置
命令钩子
所有Project-X命令都支持在核心命令执行前后运行项目特定命令。
将以下内容添加到项目根目录下的project-x.yml中。
command_hooks: project: up: after: - echo 'Project is up!' before: - echo 'Project is starting up!' down: after: - echo 'Project is down!' - echo 'Do something else' before: - echo 'Project is going down!' - { type: symfony, command: 'deploy:push' }
支持在命令钩子中调用project-x命令。这通过定义一个对象来完成。完整的语法如下
before: - { type: symfony, command: 'COMMAND_NAME', arguments: {'key': 'value'}, options: ['option'] }
Bash别名
如果您想避免每次使用project-x
时都输入./vendor/bin/project-x
,您可以将以下内容添加到您的bash_profile
中
function project-x() { if [ "`git rev-parse --show-cdup 2> /dev/null`" != "" ]; then GIT_ROOT=$(git rev-parse --show-cdup) else GIT_ROOT="." fi if [ -f "$GIT_ROOT/vendor/bin/project-x" ]; then $GIT_ROOT/vendor/bin/project-x "$@" elif [ -f "$GIT_ROOT/../vendor/bin/project-x" ]; then $GIT_ROOT/../vendor/bin/project-x "$@" else echo "You must run this command from within a Project-X project." return 1 fi }