關於用 git 部署測試環境和生產環境的一點糾結?
天蓬老师
天蓬老师 2017-05-02 09:31:57
0
2
470

關於用 git 部署測試環境和生產環境,有點疑問糾結中。希望各位前輩指條明路。

我現在的做法: (第一種方法)

本地寫程式碼,完成後 push 到 bitbucket 上。

然後在測試環境 pull bitbucket上的測試分支。

測驗沒有問題的話,在 bitbucket 建立一個拉取請求。把測試分支和主分支合併。

在生產環境中 pull bitbucket上的主分支。

第二種方法

之前看了很多文章,有人也用這種方法。

在測試環境和生產環境中分別建造 git 倉庫,

然後在本地的開發完直接 push 到測試環境上測試,

然後 push 到生產環境運作。

不知道這兩種方法哪個比較好?我現在有點糾結在這上面。
不知道哪種方式比較科學效率更高呢?

總是覺得我目前這種方式,有點麻煩。每次 push bitbucket 上面,然後登入測試伺服器 pull 。又要在 bitbucket 合併,然後登入又要登入生產環境的伺服器 pull 程式碼。

那如果用第二種方法的話,是不是 bitbucket 就完全沒有必要了? 。

另外如果用第一種方法的話,應該可以程式碼開發玩 push 到 bitbucket 後,如果 bitbucket 上開發分支有變化,測試環境自動同步 bitbucket 上的開發分支。 bitbucket 上的主分支有更新的話,生產環境會自動同步 bitbucket 上主分支的程式碼。 (應該用 git 的 hock 應該可以做到。)但這樣做的話,是不是還是要在測試環境和生產環境的伺服器上分別建立 git 倉庫呢?

如果生產環境和測試環境可以自動同步 bitbucket 程式碼,請問怎麼弄?

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回覆(2)
小葫芦
  1. 版本管理(git/svn)和部署應該適當隔離(解耦).

  2. 測試系統, 和部署系統只需要知道目標代碼所在的分支&版本號即可.

  3. 部署系統應該具備部署任意分支上任意版本程式碼的能力(需要上線的程式碼不一定是最新的).

大家讲道理

生產環境部署一個master分支,測試環境從master checkout一個分支例如develop分支,新功能從master checkout一個分支例如feature,然後用develop merge feature分支,進行測試,測試完畢用master merge feature分支。 develop每天merge master的程式碼,保持最新。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!