Skip to content

Commit

Permalink
Merge branch 'docs'
Browse files Browse the repository at this point in the history
  • Loading branch information
niksamokhvalov committed May 6, 2016
2 parents de116d3 + 0db8cf3 commit 4e0a6c2
Show file tree
Hide file tree
Showing 9 changed files with 144 additions and 2 deletions.
17 changes: 15 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,25 @@
[![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

```bash
composer require notamedia/console-jedi

./vendor/bin/jedi init
```
```

## Documentation

* [По-русски](docs/ru/README.md)
20 changes: 20 additions & 0 deletions docs/ru/README.md
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)

---

Если вы найдёте неточность или сможете дополнить документацию, пожалуйста, форкнитесь и сделайте пул-реквест.
21 changes: 21 additions & 0 deletions docs/ru/application.md
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 всё равно
запустится, но будут доступны только те команды, которые не требуют наличия «Битрикса». Это удобно, например, для
разворачивания проекта с чистого листа.
Binary file added docs/ru/ci-env-init-command.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
21 changes: 21 additions & 0 deletions docs/ru/ci.md
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)
54 changes: 54 additions & 0 deletions docs/ru/command.md
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).
2 changes: 2 additions & 0 deletions docs/ru/environment.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# Настройки окружений

11 changes: 11 additions & 0 deletions docs/ru/install.md
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 added docs/ru/search.md
Empty file.

0 comments on commit 4e0a6c2

Please sign in to comment.