我正在尝试为OctoberCMS找到一个很好的开发工作流程,这是一个用Laravel编写的基于文件的CMS。
我已将其设置为通过以下方式进行部署:
git push live master
然而,在OctoberCMS中,我需要同步"直播"更改回我的本地开发框(因为每次通过CMS编辑内容时,它都会更改文件)。目前我没办法" git pull"来自实时服务器。
我的接收后文件如下所示:
!/bin/sh
git --work-tree=/var/www/mysite.com --git-dir=/var/repo/mysite.git checkout -f
我目前的设置基于这篇Digital Ocean文章。
是否有一种简单的方法可以修改它,以便我可以从实时服务器同步更改?
答案 0 :(得分:2)
我们目前正在评估october cms的多实例设置。将一个实例作为专用编辑器实例运行。
编辑器实例中的更改 - 目前 - 手动推送到我们的git repo" git-cms"的编辑器分支。这个想法是通过使用cronjob或文件系统观察器来自动执行此操作。
有一个专门的手动过程,我们将编辑器分支合并到git-cms的主分支中。在这里,我们还可以注入css / js / img文件等共享资源。
基于git-cms master分支,我们为测试,制作和编辑器创建新实例(目前使用docker)。
在图表中,我们的数据流看起来像
editor -> git:editor -> git:master -> editor, test, production
了解我们在除了编辑器之外的任何实例中明确拒绝访问Web服务器级别的后端,这一点非常重要。这应该有助于安全,但主要是确保我们有清晰的数据流。
到目前为止,最明显的限制是,当实例化编辑器的新实例时,在更新过程运行时编辑器中所做的更改可能会丢失。这对我们来说不是问题,因为我们小到可以手动同步。它可能无法很好地扩展到多个编辑器和/或繁重的编辑。它还引入了额外的更新延迟。
答案 1 :(得分:0)
我刚刚启动了OctoberCMS项目,我们已决定gitignore pages目录。这是我们的用户唯一想要影响的目录。
我已将以下内容添加到根.gitignore文件中。
/themes/**/pages