2012-11-16 68 views
4

我在一個由其他4個開發人員組成的團隊中,我們正在學習GIT並使用gitflow模型和github作爲中心回購。到目前爲止,我們已經在github上創建了中央存儲庫,我們可以創建特性,將它們推送到中央倉庫,並從那裏拉出以獲取其他所有更改。Git流與Github部署

所有開發人員都在本地機器上工作,但我們有3個服務器設置 - 開發,分段和生產。

發展是每個人都可以看到彼此變化的地方,一旦我們感到高興,我們將轉移到舞臺。這是進行測試的地方,以確保在我們最終使網站在生產環境中正常運行之前,一切都可以正常進行。

該網站目前已完成,我們已經克隆了開發服務器上的存儲庫,並拉出了所有的網站文件,以便我們可以看到那裏的所有更改。但是,我們現在不確定我們應該部署到舞臺,還是部署到生產。

  1. 我們是否先在本地創建發佈分支並推送到中央回購?
  2. 我們是否在分段和生產服務器上克隆中央回購?
  3. 如果是這樣,我們是否從中央回購中退出或者不應該在生產服務器上使用GIT?我已閱讀關於使用rsync以及鉤子?!

如果有人可以請解釋下一步或指向我的某個地方解釋它,這將是非常有用的。

感謝

回答

4

我會一個人誰負責部署到不同的服務器,尤其是分期和生產。 通過這種方式創建發佈分支時,該分支將部署在登臺服務器上。發佈分支完成後,將主分支部署到生產服務器。

您可以克隆回購協議分期和生產,只要確保.git目錄有適當的安全(htaccess的是你的朋友:)),使非開發人員不能訪問該目錄。

我會在生產服務器上使用git pull。我已經閱讀了rsync和鉤子,但只是git對我來說工作得很好。

現在有時當我爲客戶端工作,不允許在服務器上使用git,我使用ftp。 Github上有一個叫做git-ftp的Pyhton程序,我調整了一點以適應git-flow。我沒有把這個版本放在github上,也許我應該。

作爲後續行動的第一個評論
誰做他/她的本地機器上的分期和生產的排放會做以下步驟的人:

git flow release start -F 1.0 

做了一些工作,像更新版本號 發佈到GitHub上

git flow release publish 1.0 

在臨時服務器:

git pull origin release/1.0 

的分期期限結束以後,在本地機器

git flow release finish 1.0 

在生產服務器上

git pull origin master 
+0

感謝彼得。那麼,就像在本地或開發服務器上一樣,在分段和生產中使用GIT的方式相同,但是從主服務器而不是開發服務器?即git pull origin master –

+0

是的,我就是這樣做的,我更新了答案以顯示步驟。我可能錯過了幾個小小的步驟,但這將是要走的路,恕我直言 –

+0

謝謝。當你說更新版本號git流做這個'git流版本發佈1.0'的一部分?發佈發佈版本與本地發佈並在本地發佈並推送到github之間有什麼區別? –