2012-07-18 67 views
0

我現在有這樣的想法,現在想問問是否有任何人對GIT中的繼續部署工作流程有任何建議或經驗。需要關於GIT繼續部署從測試到生產服務器的建議

我的服務器結構。

我有一臺測試服務器和生產服務器。

測試服務器是生產服務器的鏡像,它具有我項目的最新版本。 上有測試網站的其他unfinish故事(持續發展的故事)

塞納里奧

我有一個新的用戶故事,從「登錄」更改登錄頁面的標題爲「安全登錄」

我進入我的測試服務器,並簽出名爲「hotfix_login_text」的主分支

我完成了更改並要求我的測試人員在測試網站上測試我的故事。

測試儀已接受我的登錄頁面文本更改故事。

現在我需要將該登錄頁面文本更改發佈到我們的生產站點。

請記住,在測試網站上還有其他的故事正在開發中,並且在同一分支上還有我的登錄文本更改當前位於。

如何在不包含我的不完整的故事的情況下將我的登錄文本更改發佈到我們的生產站點?

目前我做的方式是手動

的login.php中的文件複製到我們的生產基地目錄

這是乾淨的,然後從那裏犯下的新副本我們的製作網站。

我希望我上面的解釋足夠清楚。

您的幫助將大大appriciated。

Finau

+0

當你說「完成改變」,你的意思是'hotfix_login_text'分支已經提交了。你是如何部署到測試服務器的? ..我在你的練習中嗅到了一些錯誤..你的開發者是否直接更改了測試服務器上的文件? – 2012-07-18 02:13:34

+0

不,開發人員已經將測試網站存儲庫的副本複製到他們自己的計算機上,並從那裏開始工作,一旦他們對自己的工作感到滿意,就會將測試網站提交給測試站點供測試人員測試。 – fkaufusi 2012-07-18 02:55:26

回答

1

有幾種方法可以做到這一點。一種方法是將每個用戶故事放在單獨的分支上,並將您的生產代碼放在另一個分支上。當功能完成並被接受時,將用戶故事分支合併到生產分支中。

另一種方法是櫻桃選擇你的開發分支到你的生產分支。 See the git cherry pick man page for details.。只有櫻桃選擇與完成的用戶故事相關的提交。

請注意,如果將多個功能的工作組合到一個提交中,這些功能都不起作用。在這種情況下,沒有辦法在沒有手動執行的情況下挑選單個文件。

+0

非常感謝這個答案,我想這是我正在尋找的答案。我會調查您的建議,然後我會將其發回。謝了哥們。 – fkaufusi 2012-07-18 02:56:46