❶ 使用Vagrant和直接使用虛擬機的區別
vagrant 是一個非常好用的工具,可以用它來在單台物理機器編程管理多個虛擬機(vms)。其支持原生VirtualBox,並同時提供了對VMware Fusion、Amazon EC2虛擬機集群的插件支持。
vagrant提供了極易使用、基於Ruby的內部DSL,允許用戶使用它們的配置參數定義一個或多個虛擬機。另外,對於自動部署,vagrant支持多種機制:可以使用puppet,chef或者用於在vagrant配置文件中定義的所有虛擬機上自動安裝軟體程序和配置的shell腳本等。
所以,使用vagrant可以在運行著多台vm的系統上定義復雜的虛擬框架,是不是很酷?
vagrant的典型使用案例是以簡單並且一致的方式構建工作或者開發環境。在Eligotech(原作者公司)公司里,開發人員正在開發一個產品,目標是讓用戶簡單的使用Apache Hadoop、CDH(Cloudera的開源版本)。開發人員經常是為了測試需要在機器上安裝hadoop環境。他們發現vagrant在這方面是一個非常便利的工具。
❷ 如何使用vagrant在虛擬機安裝hadoop集群
vagrant 是一個非常好用的工具,可以用它來在單台物理機器編程管理多個虛擬機(vms)。其支持原生VirtualBox,並同時提供了對VMware Fusion、Amazon EC2虛擬機集群的插件支持。
vagrant提供了極易使用、基於Ruby的內部DSL,允許用戶使用它們的配置參數定義一個或多個虛擬機。另外,對於自動部署,vagrant支持多種機制:可以使用puppet,chef或者用於在vagrant配置文件中定義的所有虛擬機上自動安裝軟體程序和配置的shell腳本等。
所以,使用vagrant可以在運行著多台vm的系統上定義復雜的虛擬框架,是不是很酷?
vagrant的典型使用案例是以簡單並且一致的方式構建工作或者開發環境。在Eligotech(原作者公司)公司里,開發人員正在開發一個產品,目標是讓用戶簡單的使用Apache Hadoop、CDH(Cloudera的開源版本)。開發人員經常是為了測試需要在機器上安裝hadoop環境。他們發現vagrant在這方面是一個非常便利的工具。
一個vagrant配置文件的例子,你們可以自行測試。你需要下載並安裝vagrant(幫助地址http://docs.vagrantup.com/v2/installation/index.html)和virtualBox。所有東西都安裝完畢後即可復制粘貼下面的文本保存為Vagrantfile,並將其放到一個目錄下,比如VagrantHadoop.這個配置文件假定你機器內存至少32G,如果不適合可以自行編輯該文件。
#-*-mode:ruby-*-
#vi:setft=ruby:
$master_script=<<SCRIPT
#!/bin/bash
cat>/etc/hosts<<EOF
127.0.0.1localhost
#
::1ip6-localhostip6-loopback
fe00::0ip6-localnet
ff00::0ip6-mcastprefix
ff02::1ip6-allnodes
ff02::2ip6-allrouters
10.211.55.100vm-cluster-node1
10.211.55.101vm-cluster-node2
10.211.55.102vm-cluster-node3
10.211.55.103vm-cluster-node4
10.211.55.104vm-cluster-node5
10.211.55.105vm-cluster-client
EOF
apt-getinstallcurl-y
REPOCM=${REPOCM:-cm4}
CM_REPO_HOST=${CM_REPO_HOST:-archive.cloudera.com}
CM_MAJOR_VERSION=$(echo$REPOCM|sed-e's/cm\([0-9]\).*/\1/')
CM_VERSION=$(echo$REPOCM|sed-e's/cm\([0-9][0-9]*\)/\1/')
OS_CODENAME=$(lsb_release-sc)
OS_DISTID=$(lsb_release-si|tr'[A-Z]''[a-z]')
if[$CM_MAJOR_VERSION-ge4];then
cat>/etc/apt/sources.list.d/cloudera-$REPOCM.list<<EOF
deb[arch=amd64]http://$CM_REPO_HOST/cm$CM_MAJOR_VERSION/$OS_DISTID/$OS_CODENAME/amd64/cm$OS_CODENAME-$REPOCMcontrib
deb-srchttp://$CM_REPO_HOST/cm$CM_MAJOR_VERSION/$OS_DISTID/$OS_CODENAME/amd64/cm$OS_CODENAME-$REPOCMcontrib
EOF
curl-shttp://$CM_REPO_HOST/cm$CM_MAJOR_VERSION/$OS_DISTID/$OS_CODENAME/amd64/cm/archive.key>key
apt-keyaddkey
rmkey
fi
apt-getupdate
exportDEBIAN_FRONTEND=noninteractive
apt-get-q-y--force-yesinstallOracle-j2sdk1.6cloudera-manager-server-dbcloudera-manager-servercloudera-manager-daemons
servicecloudera-scm-server-dbinitdb
servicecloudera-scm-server-dbstart
servicecloudera-scm-serverstart
SCRIPT
$slave_script=<<SCRIPT
cat>/etc/hosts<<EOF
127.0.0.1localhost
#
::1ip6-localhostip6-loopback
fe00::0ip6-localnet
ff00::0ip6-mcastprefix
ff02::1ip6-allnodes
ff02::2ip6-allrouters
10.211.55.100vm-cluster-node1
10.211.55.101vm-cluster-node2
10.211.55.102vm-cluster-node3
10.211.55.103vm-cluster-node4
10.211.55.104vm-cluster-node5
10.211.55.105vm-cluster-client
EOF
SCRIPT
$client_script=<<SCRIPT
cat>/etc/hosts<<EOF
127.0.0.1localhost
#
::1ip6-localhostip6-loopback
fe00::0ip6-localnet
ff00::0ip6-mcastprefix
ff02::1ip6-allnodes
ff02::2ip6-allrouters
10.211.55.100vm-cluster-node1
10.211.55.101vm-cluster-node2
10.211.55.102vm-cluster-node3
10.211.55.103vm-cluster-node4
10.211.55.104vm-cluster-node5
10.211.55.105vm-cluster-client
EOF
SCRIPT
Vagrant.configure("2")do|config|
config.vm.define:masterdo|master|
master.vm.box="precise64"
master.vm.provider"vmware_fusion"do|v|
v.vmx["memsize"]="4096"
end
master.vm.provider:virtualboxdo|v|
v.name="vm-cluster-node1"
v.customize["modifyvm",:id,"--memory","4096"]
end
master.vm.network:private_network,ip:"10.211.55.100"
master.vm.hostname="vm-cluster-node1"
master.vm.provision:shell,:inline=>$master_script
end
config.vm.define:slave1do|slave1|
slave1.vm.box="precise64"
slave1.vm.provider"vmware_fusion"do|v|
v.vmx["memsize"]="5120"
end
slave1.vm.provider:virtualboxdo|v|
v.name="vm-cluster-node2"
v.customize["modifyvm",:id,"--memory","5120"]
end
slave1.vm.network:private_network,ip:"10.211.55.101"
slave1.vm.hostname="vm-cluster-node2"
slave1.vm.provision:shell,:inline=>$slave_script
end
config.vm.define:slave2do|slave2|
slave2.vm.box="precise64"
slave2.vm.provider"vmware_fusion"do|v|
v.vmx["memsize"]="5120"
end
slave2.vm.provider:virtualboxdo|v|
v.name="vm-cluster-node3"
v.customize["modifyvm",:id,"--memory","5120"]
end
slave2.vm.network:private_network,ip:"10.211.55.102"
slave2.vm.hostname="vm-cluster-node3"
slave2.vm.provision:shell,:inline=>$slave_script
end
config.vm.define:slave3do|slave3|
slave3.vm.box="precise64"
slave3.vm.provider"vmware_fusion"do|v|
v.vmx["memsize"]="5120"
end
slave3.vm.provider:virtualboxdo|v|
v.name="vm-cluster-node4"
v.customize["modifyvm",:id,"--memory","5120"]
end
slave3.vm.network:private_network,ip:"10.211.55.103"
slave3.vm.hostname="vm-cluster-node4"
slave3.vm.provision:shell,:inline=>$slave_script
end
config.vm.define:slave4do|slave4|
slave4.vm.box="precise64"
slave4.vm.provider"vmware_fusion"do|v|
v.vmx["memsize"]="5120"
end
slave4.vm.provider:virtualboxdo|v|
v.name="vm-cluster-node5"
v.customize["modifyvm",:id,"--memory","5120"]
end
slave4.vm.network:private_network,ip:"10.211.55.104"
slave4.vm.hostname="vm-cluster-node5"
slave4.vm.provision:shell,:inline=>$slave_script
end
config.vm.define:clientdo|client|
client.vm.box="precise64"
client.vm.provider"vmware_fusion"do|v|
v.vmx["memsize"]="4096"
end
client.vm.provider:virtualboxdo|v|
v.name="vm-cluster-client"
v.customize["modifyvm",:id,"--memory","4096"]
end
client.vm.network:private_network,ip:"10.211.55.105"
client.vm.hostname="vm-cluster-client"
client.vm.provision:shell,:inline=>$client_script
end
end
❸ 如何在半小時搭建一個簡單的日誌分析平台
日誌分析平台開發所需要工具
Ansible 2.0+:簡單的自動化配置工具,運維工具。關於自動化配置還有什麼好說的呢?
Vagrant:操作系統虛擬化工具,開發時使用。如果沒有聽過,Docker總聽過吧。這傢伙就和Docker完全類似的功能,也早於Docker出現。
一個簡單的支持yml格式高亮的文本編輯器,比如Atom
自行下載JDK8:jdk-8u66-linux-x64.tar.gz放到項目路徑:provision/roles/jdk8/files/jdk-8u66-linux-x64.tar.gz P.S. 抱歉這個的確需要你自己下。
什麼?不用寫代碼嗎?的確不用需要寫。如果你要擴展這個雛形就會需要寫一些腳本。
啟動一台伺服器
因為我們需要在本地開發好以後,再部署到生產環境,所以,我們需要一台伺服器用來做實驗。用Vagrant可以在你的開發機上虛擬化一台。clone 下 OSC-AdCenter後,進入項目目錄執行:Vagrant up
文件Vagrantfile有描述這台機器的配置:
Vagrant.configure(2) do |config|
ANSIBLE_RAW_SSH_ARGS = []
machine_box = "trusty-server-cloudimg-amd64-vagrant-disk1"
machine_box_url = "https://cloud-images.ubuntu.com/vagrant/trusty/current/trusty-server-cloudimg-amd64-vagrant-disk1.box"
config.vm.define "oscadcenter" do |machine|
machine.vm.box = machine_box
machine.vm.box_url = machine_box_url
machine.vm.hostname = "oscadcenter"
machine.vm.network "private_network", ip: "192.168.4.10" ##指定這台機器的IP,只能宿主機能訪問
machine.vm.provider "virtualbox" do |node|
node.name = "oscadcenter"
node.memory = 4048
node.cpus = 2
end
end
end
更多關於Vagrantfile:https://www.vagrantup.com/docs/vagrantfile/
Vagrant機器的默認賬號密碼都是: vagrant,所以你可以使用ssh [email protected]登錄這台機器。也可以使用vagrant命令登錄,在Vagrantfile所在目錄下執行:vagrant ssh oscadcenter。
部署日誌分析平台
在你的開發機上,安裝好ansible:
伺服器准備好了,我們只需要一條命令就可以部署OSC-AdCenter了:
ansible-playbook ./provision/playbook.yml -i ./provision/inventory -u vagrant -k
然後輸入ssh登錄密碼:vagrant。
簡單說明:
ansible-playbook是ansible的一個命令
./provision/playbook.yml是描述你的伺服器配置的文本,你可以想像成所有的部署腳本都寫在這個文件中
./provision/inventory是伺服器在playbook在的host與ip的映射表,比如playbook中這么寫:
---
- hosts: adcenter
那麼,inventory文件就是這樣的:
[adcenter]
192.168.4.10
具體請看文檔:http://docs.ansible.com/ansible/intro_inventory.html
-u vagrant -k 表示使用vagrant賬號ssh登錄目標機器
部署的這個過程,要看你的網速和elastic源的提供速度,可能會很漫長。 參考時長為半小時。建議執行部署後,做些別的事情,比如午休
❹ windows用vagrant需要關機嗎
對於運維人員來說,Vagrant可以給你提供一次性,並且與線上一致的伺服器環境,你可以利用VirtualBox來測試你的管理腳本,不需要再登錄到線上伺服器測試了。
對於設計人員來說,Vagrant可以幫你處理一切,你只需要專注在設計上就好了。一旦開發人員幫你配置好了Vagrant之後,你只需要執行vagrant up,然後開始設計。
❺ 測試腳本的定義
測試腳本語言(test scripting language)是腳本語言的一種,准確地講是腳本語言在測試領域地一個分支,是自動化軟體測試設計的基礎。要理解測試腳本語言就不能不對腳本語言進行一些了解。
腳本語言(scripting language) 就是在執行時以解釋(interpreting) 為主的編程語言,比如常見的perl,python,php,tcl,guile,ruby以及UNIX系統的各種shell都是腳本語言,它的執行效率比不上編譯後再執行的程序,如以C,C++, Java,Pascal等語言編寫的程序。
腳本語言應用到測試領域就可以稱之為測試腳本語言,以上提到的腳本語言都可以作為測試腳本語言來使用,特別是tcl語言更是被業界稱為事實上的測試腳本語言標准。隨著軟體測試的發展,各種測試工具也相繼推出,為了保護知識產權或者說是保護商業秘密,這些商業化的軟體大多使用自己的測試腳本語言,比如MI的TSL語言等。
❻ oraclevm怎麼用vagrant安裝
Vagrant使用與入門技巧詳解
Vagrant是一個基於Ruby的工具,用於創建和部署虛擬化開發環境。它 使用Oracle的開源VirtualBox虛擬化系統,使用 Chef創建自動化虛擬環境了,安裝方法是非常的簡單的,下面一起來看看Vagrant使用與入門技巧.
1.1 項目初始化
Vagrant使用Vagrant文件作為配置文件,該文件中定義了項目的根目錄,Vagrant的很多配置都是基於這個配置的根目錄進行的,同時,該文件也描述了項目運行所需要的機器類型以及其它資源(比如安裝哪些軟體等)。
要初始化一個Vagrant項目,使用命令vagrant init命令,使用該命令後,會在當前目錄創建一個名為Vagrantfile的配置文件,修改該文件改變Vagrant項目的行為。
$ mkdir vagrant_getting_started
$ cd vagrant_getting_started
$ vagrant init
Vagrant使用盒子(box)創建開發環境,所謂的盒子就是一個已經配置好的基礎的虛擬機鏡像,Vagrant避免了每次創建項目都去重新創建虛擬機,而是按照Vagrantfile文件的配置從基礎鏡像創建這個Box。
可以在已經存在的項目上使用vagrant init命令,該命令只會創建配置文件,並不會對原有項目造成影響。如果需要,可以將該配置文件Vagrantfile加入到項目的版本控制中,這樣團隊中的其它開發者就可以快速的建立起開發環境已進行運行調試了。
在創建Vagrant項目的時候,首先需要做的是添加一個Box,通過使用命令vagrant box add添加一個盒子,Vagrant網站上提供了很多其它開發者共享的Box,我們可以直接復用,在Vagrant Cloud上可以查找你需要的Box並且添加到本地。
$ vagrant box add chef/centos-6.5
添加的盒子是可以被多個項目同時使用的,項目在初始化Box的時候並不會修改添加的基礎Box,而是克隆一份Box的副本,在副本上進行配置。
添加盒子之後,我們需要配置項目使用這個盒子作為基礎,修改Vagrantfile文件:
Vagrant.configure("2") do |config|
config.vm.box = "chef/centos-6.5"
end
注意: 如果這里指定的box沒有添加過,則Vagrant會自動去下載該Box。
1.2 啟動並運行項目
在配置完成後,就可以啟動該虛擬環境了,使用命令vagrant up啟動開發環境。
$ vagrant up
啟動之後,我們可以使用ssh連接到該虛擬機上:
$ vagrant ssh
現在你已經連接到該虛擬機上了,你可以像操作普通Linux系統一樣做你希望做的事情。
注意的是,在該虛擬機上進行rm -fr /操作的時候請謹慎一些,因為在該虛擬機中,掛載了/vagrant目錄,該目錄是與你主機的項目共享的,刪除的話會將項目刪除掉。
在該虛擬機使用完成後,如果不再需要了,可以使用vagrant destroy命令移除該虛擬機。
提示: 默認配置下,虛擬機中的/vagrant目錄與主機上的項目目錄是同一個目錄,該目錄中的所有操作都會自動同步。
1.3 創建項目初始化腳本
每次初始化系統的時候都需要重新安裝軟體是一件非常麻煩的事,因此,Vagrant提供了一種簡單的方式來幫我們完成這個過程,在建立虛擬機的時候可以指定自動執行腳本。
在項目目錄下創建一個bootstrap.sh的腳本文件:
#!/usr/bin/env bash
apt-get update
apt-get install -y apache2
rm -rf /var/www
ln -fs /vagrant /var/www
該腳本是在Ubuntu環境下使用的,如果你是用的Box是CentOS,則不能使用apt-get命令了,而應該使用yum命令完成程序的安裝。
接下來,我們需要配置Vagrantfile文件,讓其在建立環境的時候自動執行該腳本。
Vagrant.configure("2") do |config|
config.vm.box = "hashicorp/precise32"
config.vm.provision :shell, path: "bootstrap.sh"end
這樣配置之後,使用命令vagrant up啟動虛擬機的時候,該腳本就會自動執行,完成虛擬機的初始化了。
如果你的虛擬機已經處於運行狀態了,可以通過使用命令vagrant reload --provision快速的重新啟動虛擬機,命令中的--provision告訴Vagrant在重啟的時候運行provisioners的配置,通常情況下,provisioners的配置只在執行vagrant up命令的時候才會執行。
1.4 網路配置
Vagrant提供了埠轉發功能,通過將虛擬機中的埠映射到主機的不同埠,我們可以在主機中使用映射後的埠訪問虛擬機中的服務。
例如:
Vagrant.configure("2") do |config|
config.vm.box = "hashicorp/precise32"
config.vm.provision :shell, path: "bootstrap.sh"config.vm.network :forwarded_port, host: 4567, guest: 80end
使用如上配置啟動虛擬機之後,就可以在主機上使用http//127.0.0.1:4567訪問虛擬機上的Apache提供的Web服務了。
1.5 Teardown(虛擬機卸載)
當你希望切換到其它項目上開發或者是當你要出去吃午飯,你下班了的情況下,你需要清理一下你的開發環境,這個時候,Vagrant提供了三種方式,它們各有各自的優缺點,因此,你需要自己去權衡你希望採用哪種方式。
Suspending (掛起) 執行命令vagrant suspend將會保存當前虛擬機的運行狀態並且停止它,跟主機掛起是一樣的,當你需要再次啟動的時候,使用vagrant up命令將會恢復之前的運行狀態。這種方式的優點是,啟動很迅速,可以很快進入開發環境中,缺點是會佔用比較多的磁碟空間,因為虛擬機將內存中的數據都存儲到了磁碟上。
Halting(停止) 這種方式是正常的停止虛擬機,使用虛擬機的關閉命令完成,當需要重新使用的時候使用命令vagrant up重新啟動虛擬機,該方法與計算機冷啟動一樣,缺點是啟動的時候耗時比較多,依然佔用部分磁碟空間。
Destroying(銷毀) 該方式將會銷毀虛擬機,不會再佔用磁碟空間,下次啟動的時候將會重新建立開發環境,包括下載軟體等等。
Vagrant使用技巧
1.1 如何調試
在使用Vagrant過程中,難免會出現一些不穩定的因素而造成一些使用上的bug,因此,Vagrant提供了Debug日誌的方式用於調試,可以方便的查找錯誤的原因,以便快速解決問題。
要允許啟用日誌功能,需要在主機上設置環境變數VAGRANT_LOG為需要的日誌級別,包含debug, info, warn, error。當你需要查找錯誤產生的原因的時候,通常使用日誌級別info,這種情況下你可以得到包含重要信息的比較干凈的日誌。
在Linux和Mac系統上,你可以通過下面的方式設置:
$ VAGRANT_LOG=info vagrant up
在Windows下,你需分開寫:
$ set VAGRANT_LOG=info
$ vagrant up
當然,你也可以不用這種方式,只需要在啟動的時候增加參數--debug即可。
$ vagrant up --debug
1.2 如何使用插件
Vagrant中提供了很多可以直接使用的插件,使用這些插件,可以極大的減少配置開發環境的工作量,Vagrant的大部分核心功能都是基於插件實現的。
Vagrant使用命令vagrant plugin install安裝插件。
$ vagrant plugin install vagrant-example-plugin插件安裝完成後,將會在Vagrant啟動的時候自動載入,如果插件載入過程中出現錯誤,不會影響Vagrant的啟動,而是會輸出插件載入失敗的錯誤信息。
插件安裝完成後,你應該查看插件開發文檔獲取如何使用該插件,一般可以通過vagrant命令使用插件的命令,如果插件提供了provision的話,可以通過config.vm.provision進行配置。
插件的更新比較簡單,使用命令vagrant plugin update即可更新全部插件,使用vagrant plugin update NAME可以更新指定插件。
插件卸載使用命令vagrant plugin uninstall。
$ vagrant plugin uninstall vagrant-example-plugin查看安裝了哪些插件:
vagrant plugin list
1.3 如何配置網路
在Vagrant中,所有的網路配置都在Vagrantfile中的config.vm.network方法中。
Vagrant.configure("2") do |config|
# other config here
config.vm.network "forwarded_port", guest: 80, host: 8080end
每一種網路類型都有一個標識符如:forwarded_port,它後面跟著一串配置選項。在埠跳轉的例子中,提供了兩個參數,虛擬機中的埠號和主機中映射的埠號。
如果需要多個網路配置,使用多個config.vm.network即可。
如何進行埠跳轉
埠跳轉功能允許你通過TCP或者是UDP直接訪問主機上的指定埠,該埠的請求會被轉發到虛擬機上的指定埠。
Vagrant.configure("2") do |config|
config.vm.network "forwarded_port", guest: 80, host: 8080end
上面的配置將會主機上對8080埠的訪問轉發到虛擬機上的80埠。
下面是該配置(forwarded_port)支持的參數:
guest (int) 希望暴漏給主機的虛擬機埠
guest_ip(string) 希望綁定的IP,該IP與guest指定的埠暴漏給主機,默認為空,所有網卡介面。
host(int) 希望使用來訪問虛擬機的guest埠的主機埠號host_ip(string) 主機的IP地址,用於綁定到跳轉的埠,如果不指定,則使用所有IP。
protocol(string) 可選tcp或者udp,默認為tcp.
Vagrant.configure("2") do |config|
config.vm.network "forwarded_port", guest: 2003, host: 12003, protocol: 'tcp'
config.vm.network "forwarded_port", guest: 2003, host: 12003, protocol: 'udp'
end
1.4 如何配置同步目錄
使用config.vm.synced_folder方法配置同步目錄。
Vagrant.configure("2") do |config|
# other config here
config.vm.synced_folder "src/", "/srv/website"end
以上配置中,synced_folder方法的第一個參數為主機上要跟虛擬機同步的目錄,第二個參數為要掛載到虛擬機上的路徑。
可以配置參數disabled: true禁止目錄同步。
Vagrant.configure("2") do |config|
config.vm.synced_folder "src/", "/srv/website", disabled: trueend
默認情況下,Vagrant設置同步文件夾的屬主/組為SSH用戶,如果需要修改的話,使用下面配置:
config.vm.synced_folder "src/", "/srv/website",owner: "root", group: "root"
❼ windows10 怎麼安裝vagrant
你需要自己製作一個windows的box
首先在本地創建好工作目錄,並在命令行下切換到對應目錄
1 vagrant box add base CentOS-6.3-x86_64-minimal.box
base 表示指定默認的box,也可以為box指定名稱,比如 centos63 ,使用base時,之後可以直接使用 vagrant init 進行初始化,如果自行指定名稱,則初始化的時候需要指定box的名稱。
CentOS-6.3-x86_64-minimal.box 是box對應的文件名,這里可以是本地保存box的路徑,也可以是可以下載box的網址,如果是網址的話,Vagrant會自動啟動下載。
設置好box之後,在當前工作目錄運行
1 vagrant init
生成對應的Vagrantfile。通過文本編輯器打開Vagrantfile可以進行一些進一步的常用配置:
網路配置:
Vagrant的網路有三種模式
1、較為常用是埠映射,就是將虛擬機中的埠映射到宿主機對應的埠直接使用 ,在Vagrantfile中配置:
1 config.vm.network :forwarded_port, guest: 80, host: 8080
guest: 80 表示虛擬機中的80埠, host: 8080 表示映射到宿主機的8080埠。
2、如果需要自己自由的訪問虛擬機,但是別人不需要訪問虛擬機,可以使用private_network,並為虛擬機設置IP ,在Vagrantfile中配置:
1 config.vm.network :private_network, ip: "192.168.1.104"
192.168.1.104 表示虛擬機的IP,多台虛擬機的話需要互相訪問的話,設置在相同網段即可
3、如果需要將虛擬機作為當前區域網中的一台計算機,由區域網進行DHCP,那麼在Vagrantfile中配置:
1 config.vm.network :public_network
目錄映射:
既然是開發環境,那麼開發工作肯定還是需要在本地完成,而不是都要進到虛擬機中去完成,虛擬機就好好在後台運行服務就好了,不然就本末倒置了,所以這里就需要使用目錄映射功能,將本地的目錄映射到虛擬機的對應目錄。
默認情況下,當前的工作目錄,會被映射到虛擬機的 /vagrant 目錄,當前目錄下的文件可以直接在 /vagrant 下進行訪問,當然也可以在通過 ln 創建軟連接,如
1 ln -fs /vagrant/wwwroot /var/www
來進行目錄映射,當然,從自動化配置的角度,能不進系統就不需要進系統,所以在Vagrant也可以進行目錄映射的操作:
1 config.vm.synced_folder "wwwroot/", "/var/www"
前面的參數 「wwwroot/」 表示的是本地的路徑,這里使用對於工作目錄的相對路徑,這里也可以使用絕對路徑,比如: 「d:/www/」
後面的參數 「/var/www」 表示虛擬機中對應映射的目錄。
運行腳本:
雖然不是必須,但是如果有需要在啟動時運行一些腳本(環境的安裝或者有些服務的啟動需要在完成目錄映射之後進行),可以編輯腳本,類似如下(摘自Vagrant Document):
❽ 用記事本寫的代碼 如何測試自己的vbs腳本效果
把記事本txt後綴改成vbs,然後雙擊即可進行效果測試
❾ DevOps能做什麼
DevOps 是一組過程、方法與系統的統稱,用於促進開發(應用程序/軟體工程)、技術運營和質量保障(QA)部門之間的溝通、協作與整合。時速雲做的還不錯,是一家全棧雲原生技術服務提供商,可以了解下。
❿ 進行軟體測試需要的腳本是什麼啊
腳本要看看你自己用什麼工具,QTP用vbs,Lr用類C語言,一般JAVA也比較通用