2012-04-26 64 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可以在您每次運行部署時自動登錄到您的服務器以及您的腳本或命令。