Развёртывание с помощью Git⚓︎
Используя распределенную систему контроля версий Git в своих средах разработки и серверов, вы можете настроить простой рабочий процесс через размещенный сервис Git, например Github или GitLab. Попробуйте это, если вам удобно работать с Git'ом и его клиентскими инструментами.
Его преимущества включают: * это чище: вам нужно выдать всего несколько команд в командной строке, и они могут быть автоматизированы в любой степени * надежнее: вам не нужно запоминать, какие файлы загружать, и вы можете быть уверены, что эскалируете только те изменения, которые вам нужны (особенно полезно, когда вы хотите загрузить только некоторые изменения в файлах) * безопасность: при использовании облачного хостинга для вашего канонического репозитория ("origin") резервное копирование (версионных) исходных текстов происходит бесплатно; вы можете даже управлять своими задачами с помощью вопросов (issues).
Настройка⚓︎
Рабочий процесс на основе Git требует некоторой настройки. Вот общий обзор конфигурации. В зависимости от того, хотите ли вы фиксировать папки, содержащие сторонний код, например plugins
, может потребоваться несколько дополнительных шагов при первой установке на вашем сервере.
- В вашей среде разработки папка
user
является Git-репозиторием. - Хранилище папок
user
также размещено в облаке. Выбирайте провайдера, поддерживающего частные репозитории, если вы не хотите делиться своим кодом со всем миром. - Ваша размещенная копия является "удаленной" копией вашей локальной и серверной среды
origin
. - Вносите изменения в ваш сайт Grav из локальной среды в
origin
на вашем облачном хосте Git. - На вашем сервере установлен Grav, и его папка
user
является клоном вашего удаленного хранилища. - Когда вы будете готовы обновить сайт Grav на своем сервере, используйте Git для извлечения из
origin
вашего удаленного сайта.
Обновления⚓︎
После первоначальной настройки вам нужно будет выполнять только два действия после каждого значительного обновления: * запушить из локальной среды, * запулить изменения на свой сервер.
Расширение вашей установки⚓︎
Если вам нужна более продвинутая автоматизация, вы можете настроить хуки Git или использовать вебхуки Github. Вы также можете интегрировать изменения контента от веб-редакторов, вносящих правки в свои собственные установки через консоль администратора. Вы можете вести (почти) неизменяемые записи о том, что публикуется, используя метки Git.
Имеющиеся инструменты поддерживают все виды рабочих процессов и автоматизаций с несколькими средами.
Вы также можете использовать Git для рабочего процесса контента с помощью плагина Git Sync plugin, чтобы редакторы контента могли развертывать изменения через консоль администрирования.
Вот пример для вашего файла .gitignore
в репозитории папки user
. Это поможет сохранить чистоту вашего развёртывания:
accounts/*
!accounts/.*
data/*
!data/.*
languages/*
!languages/.*
plugins/*
!plugins/.*
themes/*
!themes/.*
!themes/MY_CUSTOM_THEME/
**/config/security.yaml
Если вы используете пользовательскую или унаследованную тему, которую вы хотите включить в свой контроль над исходным кодом, замените MY_CUSTOM_THEME
на название своей темы. Подумайте о том, чтобы сделать то же самое для любых пользовательских плагинов, специфичных для конкретного сайта.