簡體   English   中英

建立有效和有效的發展進程

[英]Setting up an efficient and effective development process

我正在為我的初創公司設置開發環境(PHP / MySQL)。 我們使用三套服務器:

LIVE - 提供實際應用程序測試的服務器 - 在實際發布DEV之前提供測試版本 - 開發服務器

開發服務器運行SVN,每個開發人員都簽出他們的本地副本。 在每天結束時檢查完成的修復,然后我們使用Hudson自動化我們的構建過程,然后將其轉移到TEST。 然后,我們使用測試儀檢查應用程序是否仍能正常運行,然后如果一切正常,請將其移至LIVE。 我很滿意這個過程,但我有兩個問題:

  • 您如何建議我們進行本地測試 - 因為每個開發人員添加新頁面或更改功能,我希望他們能夠測試他們正在做什么。 您是否只需設置本地Apache和本地數據庫並讓它們在自己的機器上進行本地測試?

  • 您會如何建議處理數據層更改?

  • 您是否還有其他建議讓我們的開發過程盡可能簡單有效?

提前致謝

每個開發人員運行自己的設置+1,完成Apache和數據庫。

將數據庫架構保持在版本控制之下。

可能您可以在測試數據庫中保留(可能在單獨的存儲庫中)一小組但有代表性的數據。 每天早上你查看這個測試數據庫的最新副本,並開始黑客攻擊。 更改模式時,請相應地更新測試數據存儲庫。

任何進行開發的人都應該有自己的本地環境。 我使用Mac,所以我運行MAMP,以便我可以擁有自己的LAMP環境本地並且獨立於任何其他環境。 這也將讓我知道沒有其他人在改變/處理我所使用的相同組件並消除任何可能的混淆。 如果您是Windows用戶,也可以輕松安裝LAMP堆棧的本地版本,如XAMP等。如果您將Linux作為桌面運行,您很可能已經知道如何安裝LAMP以實現Linux的風格正在跑步。

數據庫模式版本是個好主意。 這也是我們使用的。 除了版本控制下的模式之外,我們還將模式版本表添加到模式中並保持更新,以便我們可以在需要比較時快速告知生產/ qa / dev中的版本。

至於數據層的變化,我會推薦兩件事。

  1. 始終創建前進和后退的遷移路徑。 這意味着當您擁有要生產的模式以升級現有模式時,應始終將其作為發布的一部分。 一個清晰簡潔的過程來改變表格。 出於同樣的原因,你需要有一個工作和測試的ROLLBACK版本,以防出現問題。

  2. 我發現有用的是使用生產備份加載到我的本地(或QA / DEV),以便我可以使用最新的數據/架構而不影響生產。 如果您沒有定期執行生產備份,那么現在可能是實施策略的好時機。 然后你將一石二鳥。 您將擁有任何中斷的備份和有用的實時模式,其中包含可以加載以在另一台計算機上進行測試的數據。 這也將有助於提出架構更改可能出現的任何問題,因為數據將匹配生產。 因此,如果它在本地(以及DEV / QA)上運行,它可以降低生產中出現問題的風險。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM