У меня есть сайт Gatsby на Gitlab, развернутый в Netlify и использующий Netlify-CMS. Netlify позволяет перенести сайт в разные филиалы, и каждый из них размещен на отдельном URL. Например, у моего текущего сайта есть ветвь production
, развернутая в example.netlify.com
, и промежуточная ветвь, развернутая в staging--example.netlify.com
.
Однако коммиты, созданные при обновлении контента с помощью Netlify CMS, - это другое дело. Похоже, что (по крайней мере из коробки) Netlify CMS всегда будет отправлять изменения в производственную ветку, определенную в ее конфигурации, независимо от того, какая ветка извлечена или где расположен сайт:
Из документов .
Примечание: где бы вы ни работали с Netlify CMS - работает ли
локально, в промежуточной среде или на опубликованном сайте -
всегда извлекать и фиксировать файлы в вашем размещенном хранилище (например,
на GitHub), на ветви, которую вы настроили в вашей Netlify CMS
файл config.yml. Это означает, что содержимое, полученное в интерфейсе администратора, будет
сопоставьте содержимое в хранилище, которое может отличаться от вашего
локально работающий сайт. Это также означает, что контент сохранен с помощью администратора
Пользовательский интерфейс будет сохранен непосредственно в хранилище, даже если вы работаете
пользовательский интерфейс локально или в стадии.
Из конфигурации проекта (config.yml
), используемой Netlify CMS:
backend:
name: git-gateway
branch: production
Так что в данный момент я могу вносить изменения в структуру сайта и делать их доступными только при подготовке, однако нет механизма, позволяющего вносить изменения содержимого и делать их доступными только локально или только при подготовке ,
Один вариант, который я вижу, заключается в том, чтобы развертывать разные файлы config.yml
для каждого развертывания (и использовать отдельный файл локально), поэтому при локальном использовании CMS я устанавливаю ветвь на dev
, а при подготовке и производство Я бы установил ветку на staging
и production
соответственно. Предполагая, что расположение контента, отредактированного Netlify-CMS, является изолированным, это должно упростить продвижение изменений контента с staging
на production
.
Это лучший подход?