我有一个我使用版本控制设置的网站。我们将Beanstalk与 git 一起使用。现在,我刚收到一个要求将CMS添加到他的网站的请求,基本上只是在我希望客户端能够编辑的div中添加“cms”类。
对于我们的CMS,我们使用Pagelime,一个非常轻的CMS。但客户端将获得自己的登录进行更改,它将自动通过FTP上传这些更改。
如何设置我的版本控制?如果客户端进入并向CMS添加新内容,则该网站的存储库中的文件将过时。
谢谢!
答案 0 :(得分:1)
我们的S / FTP部署会自动将文件复制到远程服务器,但不会在Beanstalk中保留指向托管git仓库的链接。相反,您可以通过将Beanstalk repo克隆到远程服务器进行部署,然后每次部署时,都会从服务器上的repo中发出“git pull”以从Beanstalk获取任何更改。
为了弥补Pagelime的变化,你需要在拉动之前和之后做一些额外的步骤:
1)通过发出命令
提交pagelime所做的任何更改git commit -am "commit pagelime changes"
2)将更改从Beanstalk拉到服务器
git pull origin master
3)将Pagelime更改为Beanstalk
git push master
这是最简单的工作流程,并不考虑在Pagelime更改与您所做的更改之间无法自动解决的冲突以及从开发环境提交到Beanstalk的冲突。
使用首选脚本语言(ruby,python,php)配置和/或编写此工作流后,您可以开始使用Beanstalk的SSH部署而不是S / FTP部署。然后,每次运行部署时,Beanstalk都会自动登录到您的服务器和脚本或命令。
答案 1 :(得分:1)
您使用的是PHP吗?您可以使用Pagelime FTP-XML发布系统,然后使用此GIST中的代码:https://gist.github.com/945294
它将设置Pagelime以使用XML将内容推送到您的客户端站点,而不是通过覆盖源代码。然后使用PHP(或任何其他语言)将内容提取到页面中。
所有内容仍然托管在您的FTP上,但您的源代码永远不会被触及!
确保永远不要删除“cms-assets”文件夹,因为它是XML,图像和文档Pagelime上传的位置。
希望有意义!