vagrant虚拟机_使用Vagrant和Ansible部署虚拟机进行Web开发

vagrant虚拟机

VagrantAnsible是有效配置虚拟机(也称为VM)的工具,或者在Vagrant术语中,经常使用“盒子”一词。 我们首先简短讨论一下Web开发人员为什么要花时间使用这些工具,然后介绍所需的软件,概述Vagrant与虚拟机提供商的合作方式,以及使用Ansible来配置虚拟机。

背景

首先,本文基于我们在虚拟机中安装和测试eZ Publish 5的指南,这可能是有用的参考。 我们将介绍可用于自动创建和配置虚拟机的工具。 除了我们在此讨论的内容以外,还有很多要讨论的内容,但是现在,我们将专注于提供一般概述。

为什么要使用虚拟机进行网站开发?

开发人员在网站上工作的传统方式是在远程开发机器上或在本地,直接在其主要操作系统上。 使用虚拟机进行开发有很多优点,其中包括:

  • 整个开发团队可以拥有相同的服务器和配置,而无需购买其他硬件。
  • 本地虚拟机可以更代表生产服务器。
  • 您可以在需要使用虚拟机时启动它,并在完成后将其关闭。 如果您需要不同版本的软件,例如针对不同项目的不同版本PHP,这将特别有用。

Vagrant和Ansible帮助自动配置虚拟机。 Vagrant处理计算机的启动和停止以及某些配置,而Ansible将计算机的详细信息分解为易于阅读的配置文件,并在虚拟机中安装和配置软件。

一般的做法

我们通常将站点代码保留在主机操作系统上,并将这些文件从主机操作系统共享到虚拟机。 这样,虚拟机可以仅加载运行站点所需的软件,并且每个团队成员都可以使用自己喜欢的本地工具进行代码编辑,版本控制,以及在他们最常使用的操作系统下进行更多操作。

风险性

该方案并非没有风险和复杂性。 虚拟机是收藏的绝佳工具,但是与其他工具一样,您将需要一些时间来学习如何使用它。

  • 当Vagrant,Ansible和VirtualBox或其他虚拟机提供商正常运行时,它们可以帮助开发更有效地运行,并可以提高工作质量。 但是,当出现问题时,它们可能会分散实际Web开发的注意力。 它们代表了您需要维护和排除故障的其他工具,还需要培训和支持开发团队以正确使用它们。
  • 主机操作系统:确保您的主机操作系统支持您计划使用的工具。 正如我所提到的,这篇博客文章关注Ansible。 Windows作为主机未正式支持Ansible。 这意味着,如果只有一台Windows计算机可以使用,则需要考虑使用Linux作为控制器。 (有一些技巧可使其在Windows上运行。)
  • 性能:请记住,这些虚拟机的意图是支持开发。 它们的运行速度不会像独立服务器那样快。 如果这是一个问题,您可能需要花费一些时间来改善性能。
  • 一个隐含的假设是,在任何给定时间,主机上都将只运行一个虚拟机实例。 如果要使用多个虚拟机实例,则在设置虚拟机时需要考虑到这一点。

入门

第一步是安装所需的软件: VagrantAnsibleVirtualBox 。 在本文中,我们将只关注VirtualBox,但您也可以使用其他提供程序 ,包括许多开源的选项。 您可能还需要一些VirtualBox扩展和Vagrant插件。 请花一些时间仔细阅读文档。

然后,您将需要一个虚拟服务器的起点,通常称为“基本框”。 对于您的第一个虚拟机,最简单的方法是使用现有的存储盒。 HashiCorp的AtlasVagrantbox.es上有许多适用于测试的盒子 ,但是请确保对生产中使用的任何盒子都使用受信任的提供程序。

选中框后,这些命令应将其变为现实:

$ vagrant box add name-of-box url-of-box
$ vagrant init name-of-box
$ vagrant up

调配,自定义和访问虚拟机

盒子启动并运行后,您可以使用Ansible开始向其中添加软件。 计划花很多时间学习Ansible。 这是值得的投资。 您将使用Ansible加载系统软件,创建数据库,配置服务器,创建用户,设置文件所有权和权限,设置服务等等,基本上,就是将虚拟机配置为包括所需的一切。 设置完Ansible脚本后,您将可以在不同的虚拟机上重复使用它们,并且还可以在远程服务器上运行它们(这是另一天的主题!)。

SSH进入包装盒的最简单方法是:


$  vagrant ssh 

您可以更新/ etc / hosts文件,以将虚拟机盒的IP地址映射到易于记忆的SSH和浏览器名称。 该框开始运行并提供页面后,您就可以开始在该网站上工作了。

开发流程

在编辑代码时,使用此处描述的虚拟机不会显着改变正常的开发工作流程。 主机和虚拟机通过Vagrant下配置的路径共享应用程序文件。 您可以使用主机上的代码编辑器来编辑文件,也可以使用虚拟机上的文本编辑器进行较小的调整。 您还可以将版本控制工具保留在主机上。 换句话说,在主机上进行的所有代码修改都会自动显示在虚拟机上。

您只需要享受本地开发的便利,以及一个可以模拟将要部署代码的服务器的环境!

本文最初在Mugo Web上发布。 经许可重新发布。

翻译自: https://opensource.com/business/16/2/vagrant-ansible-virtual-machines-web-development

vagrant虚拟机

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值