From 4d61f2b06bd59144c0bf0684f8995a923dd33a75 Mon Sep 17 00:00:00 2001 From: Nik Samokhvalov Date: Thu, 21 Apr 2016 19:02:13 +0300 Subject: [PATCH 1/8] Docs init --- docs/ru/README.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/docs/ru/README.md b/docs/ru/README.md index e69de29..c1065ce 100644 --- a/docs/ru/README.md +++ b/docs/ru/README.md @@ -0,0 +1,17 @@ +# Документация по Console Jedi + +## Введение + +* [Консольное приложение](application.md) +* [Команды](command.md) + +## Функционал «Джедая» + +* [Настройки окружений](environment.md) +* [Модули](module.md) +* [Кеширование](cache.md) +* [Агенты](agent.md) + +--- + +Если вы найдёте неточность или сможете дополнить документацию, пожалуйста, форкнитесь и сделайте пул-реквест. \ No newline at end of file From 6708bf7c17024c85e7d255c342d6b4c7fc716bc0 Mon Sep 17 00:00:00 2001 From: Nik Samokhvalov Date: Mon, 25 Apr 2016 19:28:32 +0300 Subject: [PATCH 2/8] Docs. Work in progress... --- docs/ru/README.md | 1 + docs/ru/application.md | 6 ++++++ docs/ru/install.md | 11 +++++++++++ 3 files changed, 18 insertions(+) create mode 100644 docs/ru/install.md diff --git a/docs/ru/README.md b/docs/ru/README.md index c1065ce..b09e725 100644 --- a/docs/ru/README.md +++ b/docs/ru/README.md @@ -2,6 +2,7 @@ ## Введение +* [Установка](install.md) * [Консольное приложение](application.md) * [Команды](command.md) diff --git a/docs/ru/application.md b/docs/ru/application.md index e69de29..94eaffd 100644 --- a/docs/ru/application.md +++ b/docs/ru/application.md @@ -0,0 +1,6 @@ +# Консольное приложение + +Console Jedi — это, в первую очередь, консольное приложение для «Битрикса», позволяющее в CLI управлять системой +и выполнять консольные команды. «Джедай» построен на базе [Symfony Console](https://github.com/symfony/console) — +одного из самых популярных консольных приложений, — что позволяет вам без труда подключать сторонние консольные команды +(например, PHP CPD, Phinx) и внедрять свои. \ No newline at end of file diff --git a/docs/ru/install.md b/docs/ru/install.md new file mode 100644 index 0000000..d38cb9e --- /dev/null +++ b/docs/ru/install.md @@ -0,0 +1,11 @@ +# Установка + +1. Установите Composer, если ещё не сделали это. +1. Добавьте Console Jedi в зависимость Composer: +```bash +composer require notamedia/console-jedi +``` +1. Выполните команду инициализации Console Jedi: +```bash +./vendor/bin/jedi init +``` \ No newline at end of file From 19030e60b55f278234bfb49c3158905c1c3868ff Mon Sep 17 00:00:00 2001 From: Nik Samokhvalov Date: Fri, 6 May 2016 17:38:06 +0300 Subject: [PATCH 3/8] Docs of app and commands --- docs/ru/README.md | 2 ++ docs/ru/application.md | 17 ++++++++++++- docs/ru/ci.md | 0 docs/ru/command.md | 54 ++++++++++++++++++++++++++++++++++++++++++ docs/ru/search.md | 0 5 files changed, 72 insertions(+), 1 deletion(-) create mode 100644 docs/ru/ci.md create mode 100644 docs/ru/search.md diff --git a/docs/ru/README.md b/docs/ru/README.md index b09e725..46b598d 100644 --- a/docs/ru/README.md +++ b/docs/ru/README.md @@ -8,10 +8,12 @@ ## Функционал «Джедая» +* [Continuous integration](ci.md) * [Настройки окружений](environment.md) * [Модули](module.md) * [Кеширование](cache.md) * [Агенты](agent.md) +* [Поиск](search.md) --- diff --git a/docs/ru/application.md b/docs/ru/application.md index 94eaffd..1d2f2eb 100644 --- a/docs/ru/application.md +++ b/docs/ru/application.md @@ -1,6 +1,21 @@ # Консольное приложение +Рано или поздно практически на любом сайте встаёт необходимость выполнения скриптов в консоли, будь то воркеры, +выполняющие в фоне ресурсоёмкие операции, или инструментарий по обслуживанию сайта. Кроме того, внедрение непрерывной +интеграции так же требует автоматизации настройки и обновления приложения. Приступая к созданию очередного консольного +скрипта конечно же хочется свести к минимуму написание кода и уделить больше внимания основной логике. Решить все +эти задачи вам поможет Console Jedi. + Console Jedi — это, в первую очередь, консольное приложение для «Битрикса», позволяющее в CLI управлять системой и выполнять консольные команды. «Джедай» построен на базе [Symfony Console](https://github.com/symfony/console) — одного из самых популярных консольных приложений, — что позволяет вам без труда подключать сторонние консольные команды -(например, PHP CPD, Phinx) и внедрять свои. \ No newline at end of file +(например, PHP CPD, Phinx) и внедрять свои. + +Фактически, библиотека является прослойкой между пользователем и Symfony Console, которая позволяет управлять +«Битриксом». «Джедай» пытается запустить «Битрикс» и, если это удалось, выводит консольные команды, которые не могут +работать без него. + +Под фразой «запустить „Битрикс“» имеется в виду полная инициализация системы, т. к. без подключения к БД «Битрикс» +полноценно работать не может. В случае, если «Битрикс» по каким-то причинам не поднялся, Console Jedi всё равно +запустится, но будут доступны только те команды, которые не требуют наличия «Битрикса». Это удобно, например, для +разворачивания проекта с чистого листа. \ No newline at end of file diff --git a/docs/ru/ci.md b/docs/ru/ci.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/ru/command.md b/docs/ru/command.md index e69de29..41378eb 100644 --- a/docs/ru/command.md +++ b/docs/ru/command.md @@ -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 + [ + new \Vendor\Module\Command\FirstCommand() + ] +]; +``` + +Во время запуска Console Jedi автоматически загрузит команды всех установленных модулей. Кроме того, вы можете +зарегистрировать дополнительные команды через настройки в `.jedi.php` (файл располагается в корне проекта): + +```php + [ + new FirstCommand() + ] +]; +``` + +## Полезные материалы + +* [Документация по Symfony Console](http://symfony.com/doc/current/components/console/introduction.html). \ No newline at end of file diff --git a/docs/ru/search.md b/docs/ru/search.md new file mode 100644 index 0000000..e69de29 From e40dda6bf3c71d241ae2b0fa90b1f2673c472984 Mon Sep 17 00:00:00 2001 From: Nik Samokhvalov Date: Fri, 6 May 2016 17:39:03 +0300 Subject: [PATCH 4/8] Fix install doc --- docs/ru/install.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/ru/install.md b/docs/ru/install.md index d38cb9e..fcc61c2 100644 --- a/docs/ru/install.md +++ b/docs/ru/install.md @@ -1,11 +1,11 @@ # Установка 1. Установите Composer, если ещё не сделали это. -1. Добавьте Console Jedi в зависимость Composer: +2. Добавьте Console Jedi в зависимость Composer: ```bash composer require notamedia/console-jedi ``` -1. Выполните команду инициализации Console Jedi: +3. Выполните команду инициализации Console Jedi: ```bash ./vendor/bin/jedi init ``` \ No newline at end of file From c565e7d09e1c56be7d597ce289f87d563094e79a Mon Sep 17 00:00:00 2001 From: Nik Samokhvalov Date: Fri, 6 May 2016 17:42:19 +0300 Subject: [PATCH 5/8] Fix install doc --- docs/ru/install.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/ru/install.md b/docs/ru/install.md index fcc61c2..55904f6 100644 --- a/docs/ru/install.md +++ b/docs/ru/install.md @@ -1,11 +1,11 @@ # Установка -1. Установите Composer, если ещё не сделали это. -2. Добавьте Console Jedi в зависимость Composer: +* Установите Composer, если ещё не сделали это. +* Добавьте Console Jedi в зависимость Composer: ```bash composer require notamedia/console-jedi ``` -3. Выполните команду инициализации Console Jedi: +* Выполните команду инициализации Console Jedi: ```bash ./vendor/bin/jedi init -``` \ No newline at end of file +``` From cb06430c64eea312706e354504b1a59918d926e7 Mon Sep 17 00:00:00 2001 From: Nik Samokhvalov Date: Fri, 6 May 2016 18:00:30 +0300 Subject: [PATCH 6/8] Links to docs from readme --- README.md | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index ee952fb..e24e25e 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,16 @@ [![Total Downloads](https://poser.pugx.org/notamedia/console-jedi/downloads)](https://packagist.org/packages/notamedia/console-jedi) [![License](https://poser.pugx.org/notamedia/console-jedi/license)](https://packagist.org/packages/notamedia/console-jedi) -Console application for Bitrix CMS. +Console application for administration and support projects on Bitrix CMS. + +Features: + +* Continuous integration. +* Environments settings. +* Managing caching, modules, search system. +* Nice API for creating agents. + +Made based on Symfony Console ♥. ## Installation @@ -14,4 +23,8 @@ Console application for Bitrix CMS. composer require notamedia/console-jedi ./vendor/bin/jedi init -``` \ No newline at end of file +``` + +## Documentation + +* [По-русски](docs/ru/README.md) \ No newline at end of file From af0cc1d3be60b1173292b29bf55bbdc7146fb512 Mon Sep 17 00:00:00 2001 From: Nik Samokhvalov Date: Fri, 6 May 2016 18:29:05 +0300 Subject: [PATCH 7/8] CI doc --- docs/ru/ci-env-init-command.jpg | Bin 0 -> 74107 bytes docs/ru/ci.md | 21 +++++++++++++++++++++ 2 files changed, 21 insertions(+) create mode 100644 docs/ru/ci-env-init-command.jpg diff --git a/docs/ru/ci-env-init-command.jpg b/docs/ru/ci-env-init-command.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9f1c54fabda6a0bf32c6638828be117751ea17e0 GIT binary patch literal 74107 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 literal 0 HcmV?d00001 diff --git a/docs/ru/ci.md b/docs/ru/ci.md index e69de29..82a492c 100644 --- a/docs/ru/ci.md +++ b/docs/ru/ci.md @@ -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) \ No newline at end of file From 0db8cf3f662637a684b2a12f78a46425f8c2bbe3 Mon Sep 17 00:00:00 2001 From: Nik Samokhvalov Date: Fri, 6 May 2016 18:37:33 +0300 Subject: [PATCH 8/8] Doc file for env --- docs/ru/environment.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/ru/environment.md b/docs/ru/environment.md index e69de29..6998e48 100644 --- a/docs/ru/environment.md +++ b/docs/ru/environment.md @@ -0,0 +1,2 @@ +# Настройки окружений +