27
Gitify – швейцарский нож для MODX-воина Вооруженный до зубов Иван Климчук 1

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

  • Upload
    modx-

  • View
    534

  • Download
    1

Embed Size (px)

Citation preview

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

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

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

1

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

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

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

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

2

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

3

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

Решения• Teleport

• Teleport

• SE Manager (умер)

• ElementHelper

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

• и другие

4

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

Code review

5

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

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

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

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

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

6

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

7

Git и GitHub

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

8

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

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

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

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

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

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

9

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

10

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

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

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

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

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

11

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

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

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

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

data_directory: _data/

data:

templates:

class: modTemplate

primary: templatename

extension: .html

01.

02.

03.

04.

05.

06.

13

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

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

gitify build

gitify build --force

gitify build --skip-clear-cache

gitify build --force --no-backup

01.

02.

03.

04.

05.

14

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

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

gitify backup name

gitify restore

gitify restore name

gitify restore last

01.

02.

03.

04.

05.

15

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

Что может: 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

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

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

gitify package:install --all

gitify package:install --all --interactive

01.

02.

03.

17

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

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

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

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

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

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

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

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

18

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

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

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

cleanup .

19

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

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

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

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

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

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

20

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

21

bit.ly/gitifydocs

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

22

Demo

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

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

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

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

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

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

данными

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

23

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

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

• Alroniks – GitHub

• klimchuk.com

[email protected]

alroniks

24

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

25

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

26

Вопросы?

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

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