• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于Vagrant快速搭建多樣的軟件開發(fā)環(huán)境

      2018-06-04 03:42:06張曉亞廣東理工學院電氣工程系韓文龍廣州愛立信通信設備有限公司
      數(shù)碼世界 2018年5期
      關鍵詞:宿主機配置文件腳本

      張曉亞 廣東理工學院電氣工程系 韓文龍 廣州愛立信通信設備有限公司

      Vagrant是一種虛擬機管理工具,基于Ruby語言開發(fā),主要而不僅用于Oracle VM VitrualBox虛擬機的管理。Vagrant官方網(wǎng)站https://www.vagrantup.com給出的口號是:Development Environments Made Easy,讓開發(fā)環(huán)境變得易于搭建。Vagrant為開發(fā)者、運維人員提供了相同的、易于操作的搭建開發(fā)環(huán)境的搭建工作流。他提供了一個聲明式的配置文件,用于描述所有的需要的軟件、開發(fā)包、操作系統(tǒng)配置、用戶和其他。程序開發(fā)中修復bug的成本會指數(shù)級地增加其生產(chǎn)的距離。Vagrant通過提供相同的操作系統(tǒng)、包、用戶和配置來鏡像生產(chǎn)環(huán)境,同時讓用戶能夠靈活地使用他們最喜歡的編輯器、IDE和瀏覽器。Vagrant還集成了您現(xiàn)有的配置管理工具,如Chef,Puppet,anUNK,或Salt,因此您可以像在生產(chǎn)環(huán)境一樣使用相同的腳本來配置Vagrant。

      圖1 Vagrant架構圖

      1 開發(fā)環(huán)境搭建

      以下以最受關注的開發(fā)語言Python軟件開發(fā)環(huán)境為例,對使用vagrant工具搭建真實的Ubuntu操作系統(tǒng)虛擬開發(fā)環(huán)境進行闡述。需要先從http://www.vagrantbox.es/這個網(wǎng)站下載vagrantbox的操作系統(tǒng)box文件。這里使用的是https://github.com/sepetrov/trusty64/releases/download/v0.0.5/trusty64.box為64位ubuntu

      操作系統(tǒng)的box文件。使用命令“vagrant box add trusty64trusty64.box”,即可添加一個名為trusty64的box到本地box倉庫。到需要使用虛擬機的目錄下使用命令“vagrantinittrusty64”就可以把本地的box初始化到當前文件夾,使用命令“vagrantup”和“vagrantssh”即可以啟動和連接vagrant創(chuàng)建的虛擬機。以上可以看出Vagrant對于虛擬機創(chuàng)建的高效和便捷,同樣對于虛擬機的環(huán)境搭建同樣方便。下面為Python開發(fā)的常見環(huán)境:

      (1)Python3.x;

      (2)Pip工具;

      (3)pypandoc、json-tools、py4j、requests、setuptools 等python庫;

      如果要打通開發(fā)環(huán)境(window下)和測試環(huán)境(VM下),還需要:

      (4)共享文件夾;

      以及其他的一些系統(tǒng)設置:

      (5)硬盤分配大?。?/p>

      (6)內(nèi)存;

      (7)cpu核心數(shù);

      2 網(wǎng)絡配置

      c on fi g.v m.net work "pr ivate_net work", ip:"192.168.59.30"。這里設置虛擬機的ip為固定ip192.168.59.30,可以在宿主機器使用ssh連接。

      3 設置虛擬機名和內(nèi)存cup核心數(shù)

      config.vm.provider "virtualbox" do |v|

      v.name = "dev"

      v.memory = 1024

      v.cpus = 1

      end

      這里設置主機名為dev,并設置內(nèi)存大小為1024,cup核心數(shù)為1核。

      4 虛擬機掛載宿主機共享目錄

      工作中可以把工作目錄掛載到虛擬機目錄,這樣可以隨時在虛擬機中得到最新的代碼,隨時進行測試運行。config.vm.synced_folder "../../eea-work", "/data/eea/rms/current"。這里把宿主機的"../../eea-work"目錄掛載到虛擬機"/data/eea/rms/current"目錄。

      5 擴展

      在實際使用中可以靈活的使用shell腳本進行python依賴包的安裝。

      config.vm.provision "shell", inline: <<-SHELL #需要執(zhí)行的shell命令

      echo "---------------------Upgrading System------------"

      sudorm -R /var/lib/apt/lists/*

      sudo apt-get update -y

      sudo apt-get upgrade -y

      sudo apt-get install build-essential

      sudo apt-get install python-dev

      sudo apt-get install python-pip -y

      echo "---------------------Upgrading pip-------------------"

      sudo pip install --upgrade pip -i https://pypi.tuna.tsinghua.edu.cn/simple

      SHELL

      也可以使用”config.vm.provision "shell", path:"./script/shell.sh”直接執(zhí)行腳本文件。這里使用的shell腳本。

      6 vagrantfile配置文件說明

      對vagrant的配置文件進行Vagrantfile配置,配置文件內(nèi)容及說明如下:

      # -*- mode: ruby -*-

      # vi: set ft=ruby :

      Vagrant.configure("2") do |config|

      config.vm.box = "trusty64" #使用的box文件

      config.vm.hostname="dev" #虛擬機名稱

      c on fi g.v m.net work "pr ivate_net work", ip:"192.168.59.30" #ip配置

      config.vm.provider "virtualbox" do |v|

      v.name = "master" #主機名

      v.memory = 1024 #內(nèi)存大小

      v.cpus = 1 #核心數(shù)

      end

      config.vm.synced_folder "../../eea-work", "/data/eea/rms/current" #共享

      config.vm.provision "shell", inline: <<-SHELL #需要執(zhí)行的shell命令

      echo "---------------------Upgrading System------------"

      sudorm -R /var/lib/apt/lists/*

      sudo apt-get update -y

      sudo apt-get upgrade -y

      sudo apt-get install build-essential

      sudo apt-get install python-dev

      sudo apt-get install python-pip -y

      echo "---------------------Upgrading pip-------------------"

      sudo pip install --upgrade pip -i https://pypi.tuna.tsinghua.edu.cn/simple

      SHELL

      end

      8box打包和發(fā)布

      最后對于vagrant已經(jīng)配置完成box,可以使用“vagrant package output box_name.box”,進行box打包,打包成的box文件可以進行分發(fā),這樣多個開發(fā)人員基于同一個box,使用“vagrant box add box_namebox_name.box”添加box后,再用“vagrant initbox_name”進行box初始化后,就擁有了和分發(fā)者相同的開發(fā)環(huán)境。

      7 環(huán)境驗證

      首先下發(fā)這個文件到另一臺電腦的一個目錄下,在這個電腦下創(chuàng)建如下目錄結構eea-work/test/vagrant/.eea-work為實際工作目錄,vagrant目錄下為vagrant配置目錄。在vagrant目錄下使用命令vagrant up啟動虛擬機,使用vagrantssh登錄虛擬機,使用ls/data/eea/rms/current查看是否有工作開發(fā)的文件。

      8 結束語

      基于Vagrant的環(huán)境搭建,不以搭建的宿主的環(huán)境限制,可以在任何的平臺搭建。搭建的過程相當?shù)谋憬莺秃唵?。搭建后的環(huán)境可以使用Vagrantfile,分發(fā)配置的方式分發(fā),也可以使用box_name.box,分發(fā)box的方式分發(fā)。軟件開發(fā)人員可以減少大量的配置開發(fā)環(huán)境的時間,把更多的精力用于軟件的編程和功能的實現(xiàn)上。

      [1]郭亮,郭海智,謝光.基于Vagrant部署程序設計類課程實驗教學環(huán)境[J].實驗科學與技術,2017(5):70-75.

      [2]劉娜,王旭.基于云計算的服務交付模型[J].信息技術與標準化.2014(10):32-35.

      [3]何凱,劉偉.基于虛擬機的網(wǎng)絡管理與維護實驗教學探索,實驗技術與管理,2016(33):201-204.

      猜你喜歡
      宿主機配置文件腳本
      酒駕
      提示用戶配置文件錯誤 這樣解決
      安奇奇與小cool 龍(第二回)
      搭建簡單的Kubernetes集群
      互不干涉混用Chromium Edge
      忘記ESXi主機root密碼怎么辦
      數(shù)據(jù)庫系統(tǒng)shell腳本應用
      電子測試(2018年14期)2018-09-26 06:04:24
      虛擬網(wǎng)絡實驗室在農(nóng)村職校計算機網(wǎng)絡技術教學中的應用研究
      嵌入式計算機軟件測試關鍵技術的思考
      快樂假期
      中學生(2017年19期)2017-09-03 10:39:07
      宁强县| 乌兰县| 两当县| 灌阳县| 图木舒克市| 沙坪坝区| 房产| 河西区| 昆明市| 吉隆县| 东方市| 屯门区| 日土县| 吴川市| 宁波市| 宣城市| 德庆县| 塔城市| 阜康市| 葵青区| 湖南省| 孟津县| 华阴市| 轮台县| 来宾市| 三门峡市| 越西县| 太和县| 黄平县| 锡林郭勒盟| 曲阳县| 洛南县| 长宁区| 溆浦县| 呼玛县| 沐川县| 万安县| 嘉荫县| 金坛市| 普安县| 双峰县|