Gitify - швейцарский нож для MODX-воина

Preview:

Citation preview

Gitify – швейцарскийнож для MODX-воина

Вооруженный до зубов Иван Климчук

1

Как делаются проекты на MODX?• Х*к-х*к и в продакшн!

• Разработка в команде: waterfall, scrum, canban и тд.

• Длительная поддержка и развитие

2

3

Решения• Teleport

• Teleport

• SE Manager (умер)

• ElementHelper

• Cast (похоже тоже умер)

• и другие

4

Code review

5

Code review• дешевый поиск ошибок

• сохранность качества кода

• непрерывный процесс обучения

• коммуникация внутри команды

6

7

Git и GitHub

8

GitifyОсновная задача Gitify – это собрать элементы действующего сайта в

понятный человеку формат, сохранить в файлы и точно так же

восстановить сайт из файлов, но уже в другом месте (на боевом

сервере, например). Важное в этом процессе — читаемый формат и то,

что версиями этих файлов можно управлять посредством git.

9

10

Историческая справка• Первый коммит 1 июня 2014 года

• Анонс на MODX Weekend в сентябре 2014

• Документация на русском летом 2015

• 11 минорных версий, стабильная 1.0 на подходе

11

gitify init

УстановкаДля начала нужно установить Composer – менеджер пакетов для PHP.

git clone https://github.com/modmore/Gitify.git gitify

cd gitify

compser install

chmod +x Gitify

Можно настроить alias в .bashrc или .bash_profile

01.

02.

03.

04.

05.

12

Настройка и конфигурацияВся конфигурация сайта хранится в файле .gitify в формате YAML.

data_directory: _data/

data:

templates:

class: modTemplate

primary: templatename

extension: .html

01.

02.

03.

04.

05.

06.

13

Что может: build/extractgitify extract

gitify build

gitify build --force

gitify build --skip-clear-cache

gitify build --force --no-backup

01.

02.

03.

04.

05.

14

Что может: backup/restoregitify backup

gitify backup name

gitify restore

gitify restore name

gitify restore last

01.

02.

03.

04.

05.

15

Что может: modx:install иmodx:upgradegitify modx:install

gitify modx:install 2.4.2-pl

gitify modx:install latest

gitify modx:install --download

gitify modx:upgrade

gitify modx:upgrade --download

01.

02.

03.

04.

05.

06.

16

Что может: package:installgitify package:install packagename

gitify package:install --all

gitify package:install --all --interactive

01.

02.

03.

17

Как быть с одинаковыми ID?Объект, ID которого уже существует, временно сохраняется в памяти.

После полного завершения остальной сборки, включая очистку, gitify

пытается разрешить конфликт. В случае перемещения или

переименования объекта, после очистки "старый" объект будет удален,

а новый будет вставлен правильно. Если же конфликт на самом деле

есть, сохраненный в памяти объект будет вставлен с новым ID и для

него будет запущена команда gitify extract .

18

АвтоочисткаУдаляются все ресурсы, которым на найдено соответствие в файлах.

Очистку в момент сборки можно отключить передав параметр --no-

cleanup .

19

Где применять?• Работа над проектом из IDE + code review

• Работа над проектом в команде: N*dev, M*stage, production

• Установка и обновление MODX

• Установка и обновление пакетов

• Создание резервных копий через backup/restore или через git

20

21

bit.ly/gitifydocs

22

Demo

Планы по развитию• Доработать управление пакетами: установка локальных, добавить

параметр --save, добавить сохранение в конфигурацию уже

установленных пакетов

• Доработать существующие функции и исправить баги

• Добавить работу со схемами БД для более аккуратной работы с

данными

• Улучшить документацию

23

Контакты• iklimchuk – Twitter

• Alroniks – GitHub

• klimchuk.com

• ivan@klimchuk.com

alroniks

24

25

26

Вопросы?

Презентацияна GitHub

Recommended