2010-09-10 20 views
1

這是我一直在開發的第三個Web項目,我一直是所有項目的唯一開發人員。開發方法問題

現在我需要改變我的風格,不知道該怎麼做,所以我需要你的建議。

我的設置是;

Netbeans的PHP開發

Github的私人資料庫(由於我在Windows上開發,我發現很難整合的Git-Windows的Netbeans的,所以如果需要,我可以改變它)

的Basecamp項目管理(即使我使用GIT,我可能會更改我的GIT提供程序(github)並選擇一個可與Basecamp集成的程序)

我的需求是;

對於我目前的項目,我將設置一個開發服務器並首先測試那裏的變化。然後我將它們提交給生產服務器。所以我應該可以使用netbeans,而我可以輕鬆地提交到我的存儲庫並將更改應用到生產服務器。我怎樣才能輕鬆做到這一點?我應該首先提交存儲庫並從開發中獲取更改。服務器通過命令行?對於每一個變化來說,這似乎有點工作。我應該直接上傳到開發者嗎?服務器,然後將最終更改提交到存儲庫並從那裏獲取對生產服務器的更改?

那麼,作爲一個可以集成到netbeans中的存儲庫,我該如何管理這些更改?

我也想使用這些提供者之一(http://basecamphq.com/extras - SOFTWARE DEVELOPMENT TOOLS)。所以,如果你有這些公司的任何建議過,那將是巨大

非常感謝,

回答

0

每個人的口味也不盡相同。

有許多IDE /編輯器,不同的版本控制系統,甚至不同的部署到活動服務器的方法。 所以最好的方法就是嘗試不同的方法,直到找到適合您的方法。

我會告訴你我是如何做到的,並從中獲得你想要的。 而且我確定這會被某些人低估,但是我發現最適合我。

我選擇的編輯器是vim,但我也喜歡使用PDT插件的Eclipse。 Eclipse並不像NetBeans(至少在我的電腦上)那麼「活潑」,但它非常好。

我爲我的版本控制使用SVN,這只是我多年來一直在使用的東西,我很滿意。

要將最新代碼部署到我的實時服務器上,我在我的活服務器上查看我的svn repo的主幹,對於小的更改,我直接將它們提交到主幹,但對於更大的更改,我分支代碼進行更改,然後在準備好後將它合併回主幹。

然後,我需要做的是在現場發出「svn update」,並將新代碼檢出svn。 爲了避免ssh進入機器,這甚至可以從一個PHP腳本,從某個受保護的文件調用。

<? 

$svnuser = username; 
$svnpass = pass; 

$returnString = exec("svn --username={$svnuser} --password={$svnpass} update 2>&1",$output,$returnVal); 
header("Content-Type: text/plain"); 
print("Return value: {$returnVal}".PHP_EOL); 
print("Return String: {$returnString}".PHP_EOL); 
foreach($output as $line){ 
    print($line.PHP_EOL); 
} 

?>