開(kāi)發(fā)環(huán)境利器vagrant

引言
團(tuán)隊(duì)合作的編碼過(guò)程中,有時(shí)會(huì)因?yàn)閭€(gè)人開(kāi)發(fā)環(huán)境的不同,而出現(xiàn)“代碼在我的機(jī)器上運(yùn)行沒(méi)問(wèn)題,在別人的機(jī)器上有問(wèn)題”的情況。團(tuán)隊(duì)有新人加入時(shí),需要為準(zhǔn)備開(kāi)發(fā)環(huán)境而浪費(fèi)時(shí)間,并且準(zhǔn)備的環(huán)境并不那么的統(tǒng)一,或者是版本不同,或者是參數(shù)配置不同。這些問(wèn)題,vagrant都可以解決。Vagrant是一款用來(lái)構(gòu)建虛擬開(kāi)發(fā)環(huán)境的工具,可用于統(tǒng)一團(tuán)隊(duì)開(kāi)發(fā)環(huán)境,避免環(huán)境不一致導(dǎo)致的莫名錯(cuò)誤,非常適合團(tuán)隊(duì)合作開(kāi)發(fā)。Vagrant使用Ruby開(kāi)發(fā),基于VirtualBox等虛擬機(jī)管理軟件的接口,提供了一個(gè)可配置、輕量級(jí)的便攜式虛擬開(kāi)發(fā)環(huán)境,同時(shí),它還可以用于模擬分布式環(huán)境。

安裝VirtualBox
vagrant底層支持VirtualBox、VMware甚至AWS作為虛擬機(jī)系統(tǒng),所以在安裝vagrant之前,需要先安裝虛擬機(jī),推薦使用VirtualBox,它小巧便捷,關(guān)鍵是免費(fèi)。安裝過(guò)程很簡(jiǎn)單,一步一步根據(jù)引導(dǎo)安裝即可,下載鏈接

安裝vagrant
vagrant的安裝也很簡(jiǎn)單,根據(jù)引導(dǎo)一步一步安裝即可完成,下載鏈接。安裝完成后,打開(kāi)終端命令行,輸入vagrant校驗(yàn)是否安裝成功,若安裝成功,有如下圖輸出。

Paste_Image.png

若未正常輸出,檢查Path是否正確設(shè)置了vagrant所在的路徑。

添加box
先解釋一下box,在vagrant中,box就是一個(gè)包含可運(yùn)行的操作系統(tǒng)及軟件的鏡像包。box支持在線添加和本地添加兩種方式。本地添加需要將box下載到本地后再添加,這種方式可以加快box的添加,推薦這種方式。vagrant社區(qū)中提供了很多可供使用的box,可以到https://atlas.hashicorp.com/boxes/search查詢(xún)及下載所需要的box,http://www.vagrantbox.es/中提供了可在線添加的box,當(dāng)然也可以自己制作box。
在添加box之前,推薦將當(dāng)前路徑切換到一個(gè)獨(dú)立的路徑,該路徑可以是原有的,也可以是新建的,只要是單獨(dú)給vagrant使用即可,如將box下載到vagrant目錄下。
使用如下命令添加:

vagrant box add {title} {url}

vagrant box add是添加box的命令,title是給添加的box起的名,如果是本地添加,url是本地包的路徑,如果是在線添加,url是網(wǎng)絡(luò)上box的url,示例如下,
在線添加:

vagrant box add centos http://tag1consulting.com/files/centos-5.9-x86-64-minimal.box,

本地添加:

vagrant box add ubuntu ubuntu.box //需要確保ubuntu.box在當(dāng)前路徑下

vagrant初始化
初始化命令如下:

vagrant init {boxName}

boxName是添加box時(shí)起的名稱(chēng),例如vagrant init ubuntu。初始化完成后,會(huì)在當(dāng)前路徑下生成一個(gè)Vagrantfile文件,用于配置vagrant的參數(shù),使用默認(rèn)的即可,如果有特殊需求可以google。

vagrant啟動(dòng)
啟動(dòng)命令如下:

vagrant up

若啟動(dòng)輸出結(jié)果沒(méi)有報(bào)錯(cuò)信息,則表示啟動(dòng)成功。

連接虛擬機(jī)
vagrant啟動(dòng)成功后,可以使用ssh來(lái)連接虛擬機(jī),命令如下:
vagrant ssh

連接成功后,就可以使用命令方式操作這個(gè)系統(tǒng)了,安裝數(shù)據(jù)庫(kù)等。

打包box
在虛擬機(jī)中配置好環(huán)境后,退出并關(guān)閉虛擬機(jī),使用如下命令進(jìn)行打包:
vagrant package

命令成功執(zhí)行后會(huì)在當(dāng)前路徑下生成package.box文件,可以將這個(gè)文件共享給團(tuán)隊(duì)中的開(kāi)發(fā)人員,只要添加這個(gè)box并初始化,就可以保證團(tuán)隊(duì)開(kāi)發(fā)環(huán)境的一致。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 開(kāi)發(fā)環(huán)境之痛 軟件開(kāi)發(fā)少不了就是開(kāi)發(fā)環(huán)境,Web開(kāi)發(fā)對(duì)環(huán)境的依賴(lài)則更大。Web開(kāi)發(fā)中,無(wú)論前端還是后端,都少不了與...
    人世間閱讀 2,034評(píng)論 0 2
  • 一 2012年夏,那年我們初三,家里同住一個(gè)小區(qū),在同一所初中上學(xué),你就在我的隔壁班,可我們并無(wú)太多交集,當(dāng)然我們...
    你的島我的岸閱讀 340評(píng)論 0 2
  • 如果我是一只動(dòng)物,我愿是一只小狗,每天在主人跟前,享受主人的愛(ài)撫,平時(shí)懶洋洋地一躺,打個(gè)滾,不高興時(shí)可以嗯嗯地表達(dá)...
    今生要舍得閱讀 510評(píng)論 0 0
  • 陪閨密玩未閱讀 你來(lái)到我的城市,陪你走過(guò)我走過(guò)的路
    菠蘿菠蘿蜜u閱讀 81評(píng)論 0 0

友情鏈接更多精彩內(nèi)容