📎 Webclip
Facilitando a consistência do ambiente de desenvolvimento
A página defende que a equipe precisa de um ambiente consistente e que o trabalho remoto pode reduzir velocidade e depender de uma conexão confiável. A proposta é trabalhar localmente com máquinas virtuais para manter homogeneidade entre os ambientes de desenvolvimento.
Fichamento#
- Aplicações web modernas dependem de vários componentes, como PHP, servidor web, banco de dados, frameworks de teste e outros serviços.
- A abordagem clássica é instalar todos os pacotes necessários em um servidor para dar ao time a mesma experiência ao longo do desenvolvimento.
- O desenvolvimento remoto traz perda de velocidade e dependência de uma conexão confiável com a Internet.
- Trabalhar localmente é mais rápido, mas exige instalar os mesmos pacotes em cada máquina, o que gera inconsistência.
- A solução proposta é criar uma máquina dentro de outra máquina, funcionando em todas as plataformas e garantindo homogeneidade entre os ambientes.
- O VirtualBox executa outro sistema operacional na máquina local.
- O Vagrant permite manipular máquinas virtuais pela linha de comando.
- O Puppet define as mudanças de configuração necessárias para a máquina funcionar como desejado.
- O exemplo usa Vagrantfile e Puppet para provisionar Apache, MySQL, PHP, Xdebug, PEAR, PHP CodeSniffer e PHPUnit.
- A configuração encaminha a porta 80 para localhost:8080 e compartilha a pasta www local com o DocumentRoot do Apache na VM.
- A máquina é iniciada com vagrant up, acessada com vagrant ssh e também pode ser acessada com ssh vagrant@localhost -p 2222.
- O Puppet mantém a configuração sincronizada, e mudanças personalizadas devem ser registradas no arquivo de configuração antes de serem distribuídas.
- A máquina virtual pode ser recarregada, destruída e recriada, suspensa, retomada ou empacotada para distribuição.
- Com essa configuração, o desenvolvedor edita arquivos locais, recarrega o navegador e vê os resultados.
- O texto diz que essa abordagem também pode servir para integração contínua, com provisionamento da máquina, instalação do aplicativo, execução de testes e retorno dos resultados.
