2011-06-30 49 views
0

目前我手動執行所有更新,這意味着當我對代碼進行更改時,我手動將ftp文件更改爲服務器。很明顯我在玩火,所以想要開始使用更爲結構化的過程來爲我的PHP項目發佈更新。我使用Windows 7和Eclipse作爲我的IDE。我有一個Linux開發盒,你會推薦哪種版本控制程序,我可以與Eclipse交互以從我的開發盒中檢出副本?進行更改並將這些更改提交給開發人員,測試代碼並將更改提交到生產框? (我假設這是正確的過程?)使用php/eclipse的版本控制建議?

+0

我的投票去git/github – Alfred

+0

我永遠不會以一個集中的vcs開始了。它像餵食恐龍;) – KingCrunch

回答

1

Subversion或Git是不錯的選擇。他們都有插入到Eclipse中的插件,並會做你所需要的。

他們確實使用了不同的範例,所以選擇一個最適合自己的範例。

+0

@datasage感謝您的信息!爲了澄清這個過程,我提到了這種方法的正確方法?從dev通過eclipse檢查,進行更改。提交對dev的更改。測試它,如果所有的作品都是從開發到生產的?或者我會從eclipse提交prod? – John

+0

不完全。您的存儲庫獨立於您的環境而退出。有了一個人,你可以保持一個相當簡單的工作流程您在開發/測試環境中工作,直到完成版本,然後將生產更新到該版本。如果你願意,你可以在每次完成產品版本時創建一個標籤。然後,您只需將該標籤簽出到生產環境中即可。 – datasage

+0

@Datasage好的,所以我在我的工作站上創建一個存儲庫,導入我的項目文件,現在我可以通過eclipse檢查出它來處理它。我的困惑是一旦我完成了這些改變,下一步就可以在我的開發箱上本地測試我的更改了嗎?我是否必須在我的開發箱上安裝svn,並且能夠將我的新更改推送到開發箱,以便測試? – John

1

我會使用像分支一樣的git或mercurial DVCS。我使用這裏描述的分支模型的一個微小的變化:

http://nvie.com/posts/a-successful-git-branching-model/

讓我向你形容我展開工作流程:

我有4個環境:

  1. prod:生產 - 即:LIVE

  2. stage:暫存服務器aka:test environmen噸。這是代碼升級到產品之前的最後一站。

  3. int:集成服務器

  4. dev:發展

每個開發者在代碼中自己的本地副本,並與前面所述的分支樣板工程。 (我使用一個簡單的commit-hook和一個shell腳本來完成這項工作,你也可以考慮更復雜的CI工具來完成這項工作)。 Int將擁有該應用程序的最新版本'最新版'。單元測試用來確保沒有人破壞任何東西。

就在發佈之前,代碼庫被移動到階段。像功能測試和UA測試這樣的東西就是在這個時候完成的。如果一切都看起來不錯,那麼我會從舞臺推動到現在,然後代碼就會生效。

我個人使用NetBeans作爲我的IDE - 有很好的集成到git/mercurial的插件。

最後:開發工作流程/部署策略對於您的項目/組織是獨一無二的。我只是(廣義地說是)描述了我的觀點 - 所有的觀點都可能適用於你,但我希望你現在能夠理解事情應該如何工作。

+0

+1。 – bhagyas

+0

感謝您的答案。如果我需要成長,我會保留這個作爲最愛回來。 – John