Перейти к содержанию

Развёртывание с помощью 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 на название своей темы. Подумайте о том, чтобы сделать то же самое для любых пользовательских плагинов, специфичных для конкретного сайта.