2011-10-05 31 views
4

我只是想找到一個更簡單的方式來部署我正在工作的網站。我正在單獨測試一臺生產服務器,現在部署意味着將文件和數據庫數據的一個子集複製到我的計算機上,並將其上傳到prod站點。我確定那裏有一個簡單的同步工具,但到目前爲止,我找不到任何東西。PHP + MySQL部署

我真正喜歡的是一個應用程序,我可以(在Windows上)在本地運行或東西我可以安裝在我的服務器上,讓我有一個一鍵式部署。有什麼建議麼?

謝謝! 戈德溫

編輯
我決定現在去與GoodSyncToad。感謝您的建議。

+0

此測試服務器是否可以訪問生產站點? –

+0

是的,同樣的服務器真的,只是不同的域名。 – Godwin

回答

2

我使用GoodSync​​3210這種事情。真的很棒。在Windows上運行,可以在任何本地文件(S)FTP,Windows,Linux網絡共享等組合之間進行同步。

然後創建一個計劃任務/ cronjob,將數據庫導出到syncronised文件夾中,並有一個在另一端的進口。顯然這個過程是一種方式。

+0

是的,這是我正在尋找的東西。我還必須找到一個數據庫同步器,但是無論如何,它只需要更新php,js和css文件。 – Godwin

1

?一些工具如Git和SVN爲這類事情提供了現成的方法。有關快速Git解決方案,請參閱here

+0

什麼都沒有,我現在並不真的覺得我需要它,因爲我是唯一一個在工作的人。 – Godwin

+0

源代碼管理不僅適用於多人項目。這就像走鋼絲,因爲它只有你的生活。看到這裏的原因:http://stackoverflow.com/questions/132520/good-excuses-not-to-use-version-control –

+0

除了我的生活不上線,我主要與css文件工作,所以它是更像是走在沒有安全網的地面上的鋼絲繩。我正在把它放在github上,現在我有更多的時間和另一個開發人員。 – Godwin

1

取決於你所運行的是什麼類型的服務器,但你可以運行SVN(顛覆)。如果你使用它開發的話,Eclipse,Aptana和Zend Studio有一個插件。

從本質上講,你可以有一個在服務器上坐着一位開發庫。你會把你的代碼放到你的本地環境中,並在更改後提交。然後,您可以設置另一個存儲庫,這是您的實時數據或生產鏈接到您的開發存儲庫。

當你要更新的實時數據,你就如有發生故障時可以回滾代碼,而不必回滾開發代碼更新等等。一旦你做得很好,你可以開始分支和標記你的項目。

我個人同時使用SVN和Git,但我更喜歡Git的,因爲它的作品要好得多。雖然如果你使用的是Windows,命令行工具與linux不同。

4

人SCP

SCP(1)BSD通用命令手冊SCP(1)

名稱 SCP - 安全複製(遠程文件拷貝程序)

概要 SCP [-1246BCpqrv] [ -c密碼] [-F ssh_config] [-i identity_file] [-l限制] [-o ssh_option] [-P端口] [-S程序] [[user @] host1:] file1 [...] [ [用戶@]主機2:] file2的

說明 scp在網絡上的主機之間複製文件。它使用ssh(1)進行數據傳輸,並使用相同的身份驗證,並提供與ssh(1)相同的安全性 。與rcp(1)不同,如果需要進行身份驗證,scp將要求輸入密碼或密碼。

Any file name may contain a host and user specification to indicate that the file is to be copied to/from that host. Copies between two 
remote hosts are permitted. 

When copying a source file to a target file which already exists, scp will replace the contents of the target file (keeping the inode). 

If the target file does not yet exist, an empty file with the target file name is created, then filled with the source file contents. No 
attempt is made at "near-atomic" transfer using temporary files. 

The options are as follows: 

-1  Forces scp to use protocol 1. 

-2  Forces scp to use protocol 2. 

...

+0

我不認爲我目前擁有SSH訪問權限,但我想我會在稍後再考慮這一點。 – Godwin

1

我會繼續關於Git/SVN的建議,但會通過GitHub爲Git提供強大的插件。使用GitHub作爲你的「中央」Git倉庫。您的本地Git存儲庫將推送到GitHub,您的生產服務器將從GitHub中提取。學習Git/GitHub存在一些開銷,但是在你描述的情況下(單個工程師和兩個服務器),Git並沒有像SVN(或CVS或其他)那麼複雜。

+0

我曾經想過添加一個文檔庫,但是現在我覺得這有點多,因爲它只是我的工作。不過謝謝。 – Godwin

2

http://www.phing.info/docs/guide/stable/

PHing爲PHP由一個自動構建系統。與GIT,SVN,PHPUnit等一起工作...

您基本上設置了XML文件,該文件給出PHing指示如何操作。允許您運行測試套件以及構建創建,一次構建多個不同版本,複製文件以及數據庫以及一系列其他酷炫功能。

另外,它是獨立於開源和平臺的。