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

Иван Климчук, Alroniks Experts.

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

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

Как делаются проекты на MODX?

Решения

Code review

Code review

Git и GitHub

Gitify

Основная задача Gitify – это собрать элементы действующего сайта в понятный человеку формат, сохранить в файлы и точно так же восстановить сайт из файлов, но уже в другом месте (на боевом сервере, например). Важное в этом процессе — читаемый формат и то, что версиями этих файлов можно управлять посредством git.

Историческая справка

Установка

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

		 	git clone https://github.com/modmore/Gitify.git gitify
		 	cd gitify
		 	compser install
		 	chmod +x Gitify
		 	gitify init
		

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

Настройка и конфигурация

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

			data_directory: _data/
			data:
				templates:
					class: modTemplate
					primary: templatename
					extension: .html
		

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

			gitify extract
			gitify build
			gitify build --force
			gitify build --skip-clear-cache
			gitify build --force --no-backup
		

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

			gitify backup
			gitify backup name
			gitify restore
			gitify restore name
			gitify restore last
		

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

			gitify modx:install
			gitify modx:install 2.4.2-pl
			gitify modx:install latest
			gitify modx:install --download
			gitify modx:upgrade
			gitify modx:upgrade --download
		

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

			gitify package:install packagename
			gitify package:install --all
			gitify package:install --all --interactive
		

Как быть с одинаковыми ID?

Объект, ID которого уже существует, временно сохраняется в памяти. После полного завершения остальной сборки, включая очистку, gitify пытается разрешить конфликт. В случае перемещения или переименования объекта, после очистки "старый" объект будет удален, а новый будет вставлен правильно. Если же конфликт на самом деле есть, сохраненный в памяти объект будет вставлен с новым ID и для него будет запущена команда gitify extract.

Автоочистка

Удаляются все ресурсы, которым на найдено соответствие в файлах. Очистку в момент сборки можно отключить передав параметр --no-cleanup.

Где применять?

bit.ly/gitifydocs

Demo

Планы по развитию

Контакты

Вопросы?

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