Vagrant (software)
Vagrant | |
---|---|
Vagrant iniciando uma máquina virtual usando vagrant up | |
Autor | Mitchell Hashimoto[1] |
Desenvolvedor | HashiCorp (Mitchell Hashimoto and John Bender) |
Lançamento | 8 de março de 2010 (14 anos)[2] |
Versão estável | 2.4.0 (16 outubro 2023; 338 dias[3]) |
Escrito em | Ruby |
Sistema operativo | Debian, CentOS, Arch Linux, Linux, FreeBSD, macOS, and Microsoft Windows |
Gênero(s) | Gerenciamento de configuração |
Licença | MIT License[4] |
Estado do desenvolvimento | Ativo |
Página oficial | www |
Vagrant é um software de código aberto para criar e manter ambientes de desenvolvimento virtuais portáteis,[5] utilizando VirtualBox, KVM, Hyper-V, Docker containers, VMware, e AWS. Ele tenta simplificar a gerência de configuração de software das virtualizações para aumentar a produtividade do desenvolvimento. Vagrant é escrito na linguagem Ruby, mas seu ecossistema suporta o desenvolvimento em algumas outras linguagens.
História
Vagrant começou como um projeto pessoal por Mitchell Hashimoto em janeiro de 2010. A primeira versão do Vagrant foi lançada em março de 2010. Em outubro de 2010, a Engine Yard declarou que patrocinariam o projeto Vagrant. A primeira versão estável, Vagrant 1.0, foi lançada em março de 2012, exatamente dois anos após a versão original ser lançada. Em novembro de 2012, Mitchell formou uma organização chamada HashiCorp para sustentar o desenvolvimento em tempo integral do Vagrant. O Vagrant permaneceu permissivamente licenciado como software livre. A HashiCorp agora trabalha na criação de edições comerciais e fornece suporte e treinamento profissional ao Vagrant.
Vagrant era originalmente vinculado ao VirtualBox, mas a versão 1.1 adicionou suporte a outros softwares de virtualização como VMware e KVM, e para ambiente de servidores como Amazon EC2.[6] O Vagrant é escrito em Ruby, mas pode ser utilizado em projetos escrito em outras linguagens de programação como PHP, Python, Java, C#, and JavaScript.[7][8] Desde a versão 1.6, o Vagrant suporta nativamente containers Docker, que em alguns casos, servem como substituto para um sistema operacional completamente virtualizado.[9]
Arquitetura
Vagrant utiliza "Provisionadores" e "Provedores" como blocos de construção para gerenciar os ambientes de desenvolvimento. Provisionadores são ferramentas que permitem usuário personalizarem a configuração dos ambientes virtuais. Chef e Puppet são dois dos provisionadores mais usados no ecossistema do vagrant (Ansible) tem sido utilizado desde 2014[10]). Os provedores são os serviços que o Vagrant utiliza para configurar e criar os ambientes virtuais. O suporte à virtualização do VirtualBox, Hyper-V, e Docker é fornecida pelo Vagrant, enquanto o suporte de VMware and AWS é através de plugins.
Vagrant age em cima do software de virtualização como um invólucro e ajuda o desenvolvedor interagir facilmente com os provedores. Ele automatiza a configuração dos ambientes virtuais utilizando Chef ou Puppet, e o usuário não necessita utilizar nenhum outro software de virtualização. Os requisitos de máquina e software são escritos em um arquivo chamado "Vagrantfile" para executar os passos necessários para criar a caixa pronta para desenvolvimento. "Box" é um formato ( .box) para os ambientes Vagrants que é copiado para outra máquina para replicar o mesmo ambiente.
Ver também
- Docker
Referências
- ↑ Marvin, Rob (26 de fevereiro de 2015). «Mitchell Hashimoto is automating the world». Software Development Times. Software Development Times. Consultado em 27 de junho de 2016
- ↑ «mitchellh/vagrant: Release v0.1.0». GitHub. Consultado em 6 de setembro de 2015
- ↑ «Releases · v2.4.0». Consultado em 18 de outubro de 2023
- ↑ Vagrant's LICENSE
- ↑ «Introducing Vagrant | Linux Journal». www.linuxjournal.com. Consultado em 14 de setembro de 2016
- ↑ Mitchell Hashimoto (2013). Vagrant: Up and Running (PDF). [S.l.]: O'Reilly Media. p. 13. ISBN 978-1449335830
- ↑ «Vagrant: EC2-Like Virtual Machine Building and Provisioning from Ruby». Consultado em 14 de maio de 2012
- ↑ «Vagrant - Getting Started - Project Setup». Consultado em 19 de janeiro de 2016
- ↑ Mitchell Hashimoto (6 de maio de 2014). «Vagrant 1.6». Consultado em 14 de junho de 2014
- ↑ Brett, Adam (23 de setembro de 2014). «Vagrant & Ansible Quickstart Tutorial». adamcod.es. Consultado em 6 de agosto de 2017
Ligações externas
- Website Oficial
- Código Fonte
- List of Vagrant boxes