原文地址 可以在 Vagrantfile 中指定一组 Vagrant 的版本,以强制人们使用带有 Vagrantfile 的特定版本的 Vagrant.这可以帮助解决使用带有 Vagrantfile 的过时的 Vagrant 版本可能引起的兼容性问题.(A set of Vagrant version requirements can be specified in the Vagrantfile to enforce that people use a specific version of…
原文地址 配置版本是 Vagrant 1.1+(引入了大量新功能和配置选项) 能够与 Vagrant 1.0.x Vagrantfiles 保持向后兼容的机制. 现在运行 vagrant init 时,Vagrantfile 将大致采用以下格式: Vagrant.configure("2") do |config| # ... end 上面示例中第一行的"2"代表配置对象 config 的版本,该配置将用于该块的配置(do 和 end 之间的部分).这个对象在不同版…
原文地址 配置的命名空间:config.vm config.vm 中的设置修改 Vagrant 管理的机器的配置. 1. 可用的设置项 config.vm.boot_timeout Vagrant 等待机器启动并可用的时间,单位是秒.默认是 300 秒. config.vm.box 这配置了该机器将用哪个 box 启动.这里的值应该是已安装 box 的名称或 HashiCorp 的 Vagrant Cloud 中 box 的简写名称. 此选项需要 Vagrant 1.5 及以上版本.可以从 Va…
原文地址 Vagrantfile 的主要用途是描述用于项目的机器类型,以及如何配置和提供这些机器. Vagrant 的每个项目运行一个 Vagrantfile,并且 Vagrantfile 应该被提交到版本控制.这允许参与该项目的其他开发人员检查代码,运行 vagrant up.Vagrantfile 可以在 Vagrant 支持的每个平台上移植. Vagrantfiles 的语法是 Ruby,但对 Vagrantfile 进行修改并不需要有关 Ruby 编程语言的知识,因为基本上只需要简单的变…
原文地址 配置的命名空间:config.ssh config.ssh 中的设置与配置 Vagrant 如何通过 SSH 访问您的计算机相关. 大多数 Vagrant 设置一样,一般使用默认设置即可,但也可以根据自己的喜好进行微调. 1. 可用的设置项 config.ssh.username 设置 Vagrant 默认使用的 SSH 用户名.如果 provider 检测到更合适的用户,则可以自由覆盖此内容.默认情况下,这是"vagrant",因为这是大多数公共 box 使用的用户名. c…
原文地址 Vagrantfile 是一种非常灵活的配置格式.语法基于 Ruby,可以用它做很多事情.在本页使用一些提示和技巧时,请注意正确使用它们. 1. 使用循环定义虚拟机 如果你想对多机器应用稍微不同的配置,可以使用一个循环来做到这一点.例如,如果你想创建三台机器: (1..3).each do |i| config.vm.define "node-#{i}" do |node| node.vm.provision "shell", inline: "…
原文地址 配置的命名空间:config.vagrant config.vagrant 中的设置修改 Vagrant 自身的行为. 1. 可用设置 config.vagrant.host 设置运行 Vagrant 的主机类型,默认是 :detect,此时 Vagrant 会自动检测主机.Vagrant 在执行类似准备 NFS 目录之类的命令时,需要知道主机类型.只有自动检测失败时,才需要手动设置这个值. config.vagrant.sensitive - (string, array) 不应在…
Android 开发工具升级到22.6.2在创建工程时只要选择的最低版本低于4.0,就会自动生成一个项目appcompat_v7,没创建一个新的项目都会自动创建,很是烦恼... 之前在网上也找过方法,都是天篇一律 创建工程时最低选择 4.0,但这样弊端很明显,不能 在低于4.0的版本上运行,应用的兼容性太弱了.. 也是烦恼了一段时间的,今天偶然发现了一个完美的解决方法 只要在创建工程的时候选择不创建Activity就可以解决了哈,很简单吧…
原文:http://blog.csdn.net/hel12he/article/details/51089774 上一篇文章完整的讲叙了如何安装一个vagrant的环境.这里主要说一说vagrant的配置文件Vagrantfile.我在尝试各种技术的时候,常常苦恼于很多时候没有教程把相关的配置信息说明完整.所以在我的博客里,我一定会完整的把这块给补上. 一 配置详解 在我们的开发目录下有一个文件Vagrantfile,里面包含有大量的配置信息,主要包括三个方面的配置,虚拟机的配置.SSH配置.V…
原文地址 Vagrant 可以在一个 Vagrantfile 中定义并控制多个虚拟机.这就是"multi-machine"环境. 这些机器可以协同工作或互相关联.multi-machine 的常见用例有: 准确建模多服务器生产拓扑,例如分离 Web 和数据库服务器. 建模分布式系统,以及它们如何相互交互. 测试接口,比如一个到服务组件的 API. 灾难情况测试:机器正在死亡,网络分区,网络速度慢,不一致(inconsistent world views)等. 注意,这只是生产环境的不准…
原文地址 从 Vagrant 1.5 版本起,box 开始支持版本.这运行创建 box 的人提交更新,使用 box 的人检查更新.更新 box 并查看变更记录. 对于 Vagrant 新手,box 版本并不重要,建议先去学习其他知识点.但是如果你在团队中使用 Vagrant 并且计划创建自己的 box,版本非常重要.幸运的是,Vagrant 内置版本控制功能易于使用,并很好地适应 Vagrant 工作流程. 本章讲解如何使用带版本的 box.如果想了解如何创建带版本的 box,请参考 创建基础…
一.简介 在我们的工作目录下有一个Vagrantfile文件,里面包含有大量的配置信息,通过它可以定义虚拟机的各种配置,如网络.内存.主机名等,主要包括三个方面的配置,虚拟机的配置.SSH配置.Vagrant的一些基础配置.Vagrant是使用Ruby开发的,所以它的配置语法也是Ruby的,每个项目都需要有一个Vagrantfile,在执行vagrant init的目录下可以找到该文件 二.Vagrantfile文件 # -*- mode: ruby -*- # vi: set ft=ruby…
原文地址 有一种特殊的 box 被称为"base box".这些 box 包含 Vagrant 运作所需的最低限度,通常不是对现有的 Vagrant 环境("base box"中的"base")的重新包装. 例如,Vagrant 项目(例如"precise64")提供的 Ubuntu box 就是基础 box.它们基于从 ISO 安装的最小 Ubuntu,而不是重新打包已有的环境. 基础 box 在创建用于未来开发环境的洁净平…
原文地址 box 是 Vagrant 环境中使用的包格式.box 可以在 Vagrant 支持的所有平台上被任何人使用,从而提供相同的工作环境. vagrant box 工具提供了管理 box 的所有功能.更多信息参考 vagrant box 命令. 使用 box 的最简单的方式是从 公共 box 目录 添加 box.你也可以在这个网站添加并分享你定制的 box. box 支持版本控制,你的使用 Vagrant 的团队成员可以轻松的更新底层的 box,创建 box 的人可以发布修复 BUG 的版…
原文地址 Vagrantfile 配置文件中公共网络的标识符:public_network,例如: config.vm.network "public_network" Vagrant 公共网络的确切含义因 provider 而异,因此是含糊不清的定义.尽管私有网络决不允许公众访问你的机器,但公共网络可以. 困惑吗?我们也是.公共网络很可能会在将来的版本中被替换为桥接网络,因为这通常是公共网络应该做的事情,而不支持桥接的 provider 通常没有任何其他映射到公共网络的功能. 警告:…
原文地址 Vagrantfile 配置文件中端口转发的网络标识符:forwarded_port,例如: config.vm.network "forwarded_port", guest: 80, host: 8080, host_ip: "127.0.0.1" Vagrant 端口转发可以将对宿主机端口的访问数据转发到虚拟机中,支持 TCP 和 UDP. 例如:如果虚拟机中的 80 端口上运行着 web 服务,可以通过端口转发映射到宿主机的 8080 端口,在宿主…
原文地址 虽然 Vagrant 提供了用于配置虚拟机的多个选项,但是有标准用法,好多知识点对这个 provisioner 是通用的. 配置 首先,Vagrantfile 中配置的每个 provisioner 都使用 config.vm.provision 方法调用.例如,使用 shell 配置程序: Vagrant.configure("2") do |config| # ... other configuration config.vm.provision "shell&q…
原文地址 Provisioner 命令:"shell" 示例: node.vm.provision "shell" do |s| s.inline = <<-SHELL # 更改时区 cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime timedatectl set-timezone Asia/Shanghai SHELL 通过 Vagrant Shell 配置程序可以在虚拟机中上传和执行脚本. She…
原文地址 Vagrant 可以通过一个 Vagrantfile 定义并控制多个客户机.这就是所谓的"multi-machine"多虚拟机环境. 这些机器通常可以协同工作,或者互相关联.下面是几个常见用例: 准确建模多服务器生产拓扑环境,例如分离 Web 和数据库服务器. 建模分布式系统,以及它们如何相互交互. 测试一个接口,比如一个 API 到一个服务组件. 灾难情况测试:机器宕机,网络分区,网络缓慢,环境不一致(inconsistent world views)等. 以前,通常是在一…
原文地址 - 概述 原文地址 - 基本用法 同步目录 Synced folder 支持在宿主机和客户机之间共享目录,从而允许你在宿主机的项目文件上工作,但是可以在客户机上编译并运行. 默认情况下,Vagrant 会共享项目目录(包含 Vagrantfile 的目录)到 /vagrant. 1. 配置 通过 Vagrantfile 中的 config.vm.synced_folder 方法配置同步目录.配置指令的用法非常简单: Vagrant.configure("2") do |con…
原文地址 过去,box 只是 VirtualBox 导出的 tar 文件.由于 Vagrant 现在支持多个 provider 和版本控制,box 文件稍微复杂一些. 用于 Vagrant 1.0.x 的 Box 文件(VirtualBox 导出的 tar 文件)可以继续与新版本的 Vagrant 一起使用.当 Vagrant 遇到旧 box 时,会自动将其更新为新格式. 今天,有三个不同的组件: Box 文件:这是个特定于某个 provider 的压缩文件(tar.tar.gz.zip),可以…
原文地址 Vagrantfile 配置文件中私有网络的标识符:private_network,例如: config.vm.network "private_network", type: "dhcp" Vagrant 私有网络允许你通过某些无法从全球互联网公开访问的地址访问你的虚拟机.通常,这意味着你的机器在私有地址空间中分配了地址. 同一个专用网络中的多台机器(通常也只能使用同一个 provider 的支持)可以在专用网络上相互通信. 客户操作系统支持.私有网络通…
原文地址 - 概述 原文地址 - 基本用法 为了访问创建的 Vagrant 环境,Vagrant 为端口转发.连接公共网络.创建私有网络等功能暴露了一些高层网络选项. 高层网络选项用于提供可以跨 provider (VirtualBox.VMWare 等)工作的抽象定义.这意味着可以将 Vagrantfile 文件用于 VirtualBox 机器或 VMWare 机器. Vagrant 提供多个用于将虚拟机连接到网络的选项,但有一个标准的使用模式,以及所有网络配置的一些重要的共同点. 1. 高级…
if ([[UIDevice currentDevice].systemVersion floatValue] >= 10.0) 运行环境判断: #if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_10_0 编译器.开发环境支持: 部署环境支持: UNUserNotificationCenter *center = [UNUserNotificationCenter currentNotificationCenter] 在低于库版本的运行环境运行时,…
原文地址 Provisioner 命令:"file" 通过 file 配置程序可以上传宿主机的文件或目录到虚拟机中. 使用场景:将宿主机的 ~/.gitconfig 复制到虚拟机中的用户家目录,这样就不用每次都要为新的虚拟机执行 git config --global: Vagrant.configure("2") do |config| # ... other configuration config.vm.provision "file",…
原文地址 通过 Vagrant 中的 provisioner 配置程序,可以在使用 vagrant up 启动虚拟机时,在虚拟机上执行安装软件.更改配置等操作. box 通常是通用的,而每个项目总有自己的需求.当然也可以通过 vagrant ssh 进入虚拟机后手动安装软件.但是通过 Provisioning 机制可以自动化这个过程并使其可重复,完全不需交互. Provisioning 的执行节点 Provisioning 在 Vagrant 环境生命周期的特定节点执行: 第一次 vagrant…
原文地址 Provisioner 名字:"file" Vagrant 的 file provisioner 允许将文件或目录从主机上传到客户机. File provisioning 文件配置是一种简单的方法,例如,将本地的 ~/.gitconfig 复制到客户机上的 Vagrant 用户主目录,这样每次配置新虚拟机时都不必运行 git config --global. Vagrant.configure("2") do |config| # ... other co…
原文地址 创建 Vagrant 的 box 时,可以提供在运行 vagrant box list -i 时展示的与用户相关的其他信息.例如,可以打包 box,以包含有关该 box 的作者和网站信息: brian@localghost % vagrant box list -i hashicorp/precise64 (virtualbox, 1.0.0) - author: brian - homepage: https://www.vagrantup.com Box 信息 为了实现这个目标,只…
原文地址 如果你使用的 provider 是 VirtualBox,那么 VirtualBox 同步目录就是默认的同步目录类型.这些同步目录使用 VirtualBox 的共享目录系统来同步客户机跟宿主机之间的文件变化. 1. 选项 SharedFoldersEnableSymlinksCreate (boolean):默认是 true.如果为 false,将禁用与指定的 virtualbox 共享目录创建符号链接的功能. 2. 注意事项 有一个与 sendfile 相关的 VirtualBox…