Upload
modx-
View
534
Download
1
Embed Size (px)
Citation preview
Как делаются проекты на 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
22
Demo
Планы по развитию• Доработать управление пакетами: установка локальных, добавить
параметр --save, добавить сохранение в конфигурацию уже
установленных пакетов
• Доработать существующие функции и исправить баги
• Добавить работу со схемами БД для более аккуратной работы с
данными
• Улучшить документацию
23
Контакты• iklimchuk – Twitter
• Alroniks – GitHub
• klimchuk.com
alroniks
24
25
26
Вопросы?
Презентацияна GitHub