概述
目前hyperledge fabric的開發環境是使用一個執行在vagrant裡的ubuntu映像,並在裡邊依次執行若干docker容器。 從概念上說,就是在一個主機上啟動了一個虛擬機器,然後在其上依次啟動docker容器。
host -> vm -> docker
這個模型允許開發者利用他們自己喜歡的作業系統和編輯器來開發,與此同時呢,又可以讓系統執行在一個與開發團隊一致的受控環境中。
- 注:你的主機不能執行在虛擬機器中。如果你嘗試執行在虛擬機器中,會得到一個條啟動錯誤資訊(vt-x不可用)。
準備項
- git client
- go - 1.6 or later
- vagrant - 1.7.4 or later
- virtualbox - 5.0 or later
- 在bios中開啟虛擬化(virtualization)選項
注:note: 虛擬化(virtualization)選項一般在bios的cpu或安全設定中。
步驟
設定gopath環境變數
請確保你正確設定了你主機上的gopath環境變數. 正確設定了之後,你就能夠在主機和虛擬機器上構建程式碼了。
windows使用者請注意
如果你是windows使用者,在執行任何 git clone 命令之前,先執行下面的命令:
git config --get core.autocrlf
如果 core.autocrlf 為 true, 你必須把它設為 false 來執行下面的命令:
git config --global core.autocrlf false
如果你把 core.autocrlf 設為 true 的話,命令 vagrant up 就會失敗並提示 ./setup.sh: /bin/bash^m: bad interpreter: no such file or directory
克隆peer工程
在github的web介面中建立一個fabric的副本。 接下來,在適當的目錄中克隆你的fabric副本。
cd $gopath/src
mkdir -p github.com/hyperledger
cd github.com/hyperledger
git clone https://github.com//fabric.git
使用vagrant引導並配置虛擬機器
cd $gopath/src/github.com/hyperledger/fabric/devenv
vagrant up
注意 #1: 如果你需要透過http代理伺服器上網,你需要更多的配置才能確保虛擬機器完成構建。你可以使用 vagrant-proxyconf 外掛。 用命令vagrant plugin install vagrant-proxyconf 完成安裝,然後在你執行 vagrant up 之前設定vagrant_http_proxy和vagrant_https_proxy這兩個系統環境變數。詳見: https://github.com/tmatilai/vagrant-proxyconf/
注意 #2: 第一次執行 vagrant up 這個命令時會需要相當長的時間(可能30分鐘以上),可能在過程中它可能像是死掉了,但是在你沒有得到錯誤提示之前別管它。
完成後,你就能在同一個目錄執行下邊的命令ssh到你的新虛擬機器上了。
vagrant ssh
當你登入進去之後,你可以發現peer工程就在 $gopath/src/github.com/hyperledger/fabric 下(/hyperledger).
注意: 任何時間在你主機上的fabric目錄($gopath/src/github.com/hyperledger/fabric)中執行 git clone 命令來更新任何工程,與此同時虛擬機器的fabric目錄也會被同步更新。