-
Notifications
You must be signed in to change notification settings - Fork 26
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
9 changed files
with
144 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
# Документация по Console Jedi | ||
|
||
## Введение | ||
|
||
* [Установка](install.md) | ||
* [Консольное приложение](application.md) | ||
* [Команды](command.md) | ||
|
||
## Функционал «Джедая» | ||
|
||
* [Continuous integration](ci.md) | ||
* [Настройки окружений](environment.md) | ||
* [Модули](module.md) | ||
* [Кеширование](cache.md) | ||
* [Агенты](agent.md) | ||
* [Поиск](search.md) | ||
|
||
--- | ||
|
||
Если вы найдёте неточность или сможете дополнить документацию, пожалуйста, форкнитесь и сделайте пул-реквест. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
# Консольное приложение | ||
|
||
Рано или поздно практически на любом сайте встаёт необходимость выполнения скриптов в консоли, будь то воркеры, | ||
выполняющие в фоне ресурсоёмкие операции, или инструментарий по обслуживанию сайта. Кроме того, внедрение непрерывной | ||
интеграции так же требует автоматизации настройки и обновления приложения. Приступая к созданию очередного консольного | ||
скрипта конечно же хочется свести к минимуму написание кода и уделить больше внимания основной логике. Решить все | ||
эти задачи вам поможет Console Jedi. | ||
|
||
Console Jedi — это, в первую очередь, консольное приложение для «Битрикса», позволяющее в CLI управлять системой | ||
и выполнять консольные команды. «Джедай» построен на базе [Symfony Console](https://github.com/symfony/console) — | ||
одного из самых популярных консольных приложений, — что позволяет вам без труда подключать сторонние консольные команды | ||
(например, PHP CPD, Phinx) и внедрять свои. | ||
|
||
Фактически, библиотека является прослойкой между пользователем и Symfony Console, которая позволяет управлять | ||
«Битриксом». «Джедай» пытается запустить «Битрикс» и, если это удалось, выводит консольные команды, которые не могут | ||
работать без него. | ||
|
||
Под фразой «запустить „Битрикс“» имеется в виду полная инициализация системы, т. к. без подключения к БД «Битрикс» | ||
полноценно работать не может. В случае, если «Битрикс» по каким-то причинам не поднялся, Console Jedi всё равно | ||
запустится, но будут доступны только те команды, которые не требуют наличия «Битрикса». Это удобно, например, для | ||
разворачивания проекта с чистого листа. |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
# Continuous integration | ||
|
||
С помощью Console Jedi сочетание слов «Битрикс» и CI становится реальностью: от ныне проект можно развернуть и | ||
настроить одной консольной командой, как в песочнице у разработчика, так и на боевой площадке. | ||
|
||
1. [Подключите](install.md) к своему проекту Console Jedi. | ||
2. Настройки «Битрикса», различающиеся в зависимости от окружения (dev, prod), устанавливайте через | ||
[настройки окружений](environment.md). | ||
|
||
Тогда, после выкачивания свежего кода на боевую площадку, будет достаточно установить пакеты через Composer и | ||
применить «боевые» настройки «Битрикса»: | ||
|
||
```bash | ||
composer install --no-dev --prefer-dist --no-interaction | ||
./vendor/bin/jedi env:init prod --no-interaction | ||
``` | ||
|
||
Консольная команда `env:init`, в отличии от [остальных команд](command.md), имеет особый алгоритм выполнения, | ||
заслуживающий отдельного объяснения: | ||
|
||
![env:init](ci-env-init-command.jpg) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,54 @@ | ||
# Консольные команды | ||
|
||
Console Jedi из коробки содержит ряд команд, упрощающих администрирование и поддержку сайта на «Битриксе». Узнать | ||
полный список вы можете вызвав консольное приложение: | ||
|
||
```bash | ||
./vendor/bin/jedi | ||
``` | ||
|
||
Подробную информацию о команде можно запросить через опцию `--help`, например: | ||
|
||
```bash | ||
./vendor/bin/jedi cache:clear --help | ||
``` | ||
|
||
## Создание команды | ||
|
||
Написание собственных команд отличается от | ||
[написания команд для Symfony Console](http://symfony.com/doc/current/components/console/introduction.html) только | ||
классом-родителем: | ||
|
||
* `\Notamedia\ConsoleJedi\Application\Command\Command` — команда может работать при отсутствии ядра «Битрикса», | ||
* `\Notamedia\ConsoleJedi\Application\Command\BitrixCommand` — для работы команды обязательно должно быть | ||
инициализировано ядро «Битрикса». | ||
|
||
Во имя модульности проекта, свои консольные команды нужно размещать в модулях «Битрикса». Для этого в файле | ||
`vendor.module/cli.php` должны быть описаны консольные команды модуля: | ||
|
||
```php | ||
<?php | ||
|
||
return [ | ||
'commands' => [ | ||
new \Vendor\Module\Command\FirstCommand() | ||
] | ||
]; | ||
``` | ||
|
||
Во время запуска Console Jedi автоматически загрузит команды всех установленных модулей. Кроме того, вы можете | ||
зарегистрировать дополнительные команды через настройки в `.jedi.php` (файл располагается в корне проекта): | ||
|
||
```php | ||
<?php | ||
|
||
return [ | ||
'commands' => [ | ||
new FirstCommand() | ||
] | ||
]; | ||
``` | ||
|
||
## Полезные материалы | ||
|
||
* [Документация по Symfony Console](http://symfony.com/doc/current/components/console/introduction.html). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
# Настройки окружений | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
# Установка | ||
|
||
* Установите Composer, если ещё не сделали это. | ||
* Добавьте Console Jedi в зависимость Composer: | ||
```bash | ||
composer require notamedia/console-jedi | ||
``` | ||
* Выполните команду инициализации Console Jedi: | ||
```bash | ||
./vendor/bin/jedi init | ||
``` |
Empty file.