2012-11-07 135 views
1

當前我有一個位於H:驅動器的本地git repo。當我對文件進行更改並保存時,它們將存儲在此處。然後,我可以在git服務器上提交,推送和拖放文件和分支到遠程回購站點。使用git進行網頁測試和部署活動網站

我想要做的是處理文件,而不是將它們保存到本地H驅動器,我想將它們保存到我的測試服務器上,以便它們可以在瀏覽器中從該服務器運行和測試。當所有測試完成後,我想將測試服務器中的文件合併到活動服務器,並將它們作爲實時系統存在,或者我需要從測試服務器和活動服務器中提取文件,並在本地合併它們並推動主分支回到現場服務器?

此外,當分支機構合併到我的實時主分支中並推送到活動服務器時,如何從git倉庫解壓所有文件,以便它們可以作爲活動站點運行。

我已經試驗了git archivegit bundle讀上去試試,看看這是否會允許我這樣做各種各樣的「解壓」,但到目前爲止,我還沒有能夠達到什麼我可以真的工作。

是否有可能按照我描述過的方式工作,如果有的話,你會怎麼做呢?

如果這是不可能的,或者有更好的方法來做到這一點,我忽略了,請讓我知道。

+0

聽起來像你需要看看FTP(文件傳輸協議)。你當前的工作環境也可能很重要,因爲有些東西在Linux或Mac上無法運行的Windows上運行良好,反之亦然。如果您有託管的生產站點,則您的主機可能會提供您正在查找的一些工具。 – RockyFord

回答

1

我不知道你是什麼意思的拆包東西,但我想你正在尋找的是部署變化的可能性。 假設您正在開發您的應用程序,併爲此使用staging或dev分支。現在,如果你想在你的測試服務器上測試你的應用,你首先必須將所有東西都推送到你的存儲庫。 你可能想看看。 無論您使用哪種編程語言,使用Capistrano都可以輕鬆部署您的應用。 該程序將首先使用「sudo aptitude install capistrano」或甚至更好的「gem install capistrano」來安裝Capistrano。 現在你已經擁有了它,你可以在本地去你的應用並輸入「capify」。 既然你有多個分支你想部署到不同的服務器看看Capistrano Multistage Ext。 現在Capistrano應該創建一些文件,您應該打開.config/deploy.rb並插入您的資料庫,目標服務器以及要推送到目標服務器的分支。有幾個HowTo的,但default.rb應該看起來很熟悉你。 現在通過Capistrano將您的測試服務器鏈接到存儲庫的Staging分支,您可以使用「cap staging deploy」將應用程序通過ssh部署到測試服務器。 如果一切正常,您可以在本地將暫存分支合併到主服務器中,並將其推送到您的存儲庫中。現在,因爲您的Live系統應該鏈接到您的回購的主分支,您可以鍵入「cap production deploy」以讓該應用在您的實時系統上運行。您可能不得不關心數據庫遷移,但總體而言就是這樣。

一個快速安裝/配置,你有一個比現在更好的工作流程。

如果你沒有ssh訪問你的服務器,你可能會看看git-ftp。 希望這有助於你解決你的問題。

0

如果您的測試服務器位於您的局域網上,您可以在其上安裝Samba,然後將它的webroot掛載爲H:驅動器。如果它是遠程服務器,某種類型的SSHFS客戶端(如Expandrive)可能會工作。