2012-04-26 32 views
1

我有一个网站,我正在设置版本控制。我们使用Beanstalkgit。现在,我刚刚收到了一个向他的网站添加CMS的请求,该请求基本上只是将“cms”类添加到我希望客户端可以编辑的任何div。使用Pagelime CMS与版本控制设置(git)

对于我们的CMS,我们使用Pagelime,一个非常轻的CMS。但客户端将获得他们自己的登录信息进行更改,并且会自动通过FTP实时上传这些更改。

如何使用我的版本控制进行设置?如果客户端正在进入并向CMS添加新内容,则该网站的存储库中的文件将过期。

谢谢!

回答

1

您使用的是PHP吗?您可以使用Pagelime FTP-XML发布系统,然后使用此GIST中的代码:https://gist.github.com/945294

它将设置Pagelime以使用XML将内容推送到客户端网站,而不是覆盖源代码。然后,您使用PHP(或任何其他语言)将内容拉入您的页面。

一切仍然托管在您的FTP上,但您的源代码永远不会被触及!

只要确保永不删除“cms-assets”文件夹,因为这是PageLime上传的XML,图像和文档的位置。

希望有道理!

1

我们的S/FTP部署会自动将文件复制到远程服务器,但不保留在Beanstalk上托管的git仓库的链接。相反,您可以通过将Beanstalk repo克隆到远程服务器进行部署,然后每次部署时,都会从服务器上的该repo中发出“git pull”,以从Beanstalk获取任何更改。

为了弥补由Pagelime所做的更改,你需要一些额外的步骤,前后拉:

1)通过发出命令

git commit -am "commit pagelime changes" 
提交由pagelime所做的任何更改

2)从豆茎拉更改服务器

git pull origin master 

3)推Pagelime变为豆茎

git push master 

这是最简单的工作流程,并且不会解决无法在PageLime更改之间自动解决的冲突,以及您在开发环境中对Beanstalk进行的更改和更改。

一旦您以您喜欢的脚本语言(ruby,python,php)配置和/或脚本编写此工作流程,您就可以开始使用Beanstalk的SSH部署,而不是S/FTP部署。然后Beanstalk可以在您每次运行部署时自动登录到您的服务器以及您的脚本或命令。