-
Notifications
You must be signed in to change notification settings - Fork 31
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Criação do Vagrantfile com as configurações para a VM de desenvolvimento #14
Comments
Project Root: /etc/hosts
/etc/httpd/conf.d/ophportunidades.conf
|
PHP 5.3 ou 5.4? |
@augustohp palavras de @netojoaobatista :
|
Que são? |
@augustohp, são: |
Po, a do Ubuntu 12.04 é 5.3.10 e acho antiga já. O MySQL também é bem mais atual o 5.5 ... A versão 5.3.2 tem mais de 2 anos já =X No fim o SO é indiferente pra gente agora. Podemos mudar depois, é mais o lance de ter menos trabalho pra fazer as coisas. |
PHP tem versões estáveis tanto para 5.3 quanto para 5.4, isso não deverá ser uma limitação. Caso seja, usamos outra distor mesmo. Tentarei criar esse arquivo hoje, ainda estou no trabalho, em reunião o dia todo. |
Sempre podemos abrir mão dos pacotes da distro e compilar o PHP, MySQL e Apache direto na VM. |
Vou me certificar de ter as versões estáveis mais atuais de cada pacote. Do contrário, trocamos de distro sem problema algum.
|
Sério que a gente vai optar por compilar as coisas só por causa da escolha do SO? Isso é bastante contra produtivo vocês não acham? Mas enfim, acho importante antes de mais nada definirmos as versões utilizadas de cada componente =P |
Não vamos compilar nada. Posso pegar versões específicas direto do gerenciador de pacotes do CentOS. Mas como eu disse, quaisquer dificuldades, partimos para uma solução mais simples, afinal de contas, para o que precisamos, o OS realmente não fará a menor diferença. |
Exato, eu pretendo desenvolver as coisas locais, provavelmente tenho a versão que será utilizada. O bacana é que com o vagrant a gente consegue testar bem o esquema de deploy e subir ainda um Jenkins! |
Minhas sugestões para as versões são:
Exatamente, o Vagrant nos facilita muito neste quesito. Porém, talvez um Travis facilite a nossa vida, pela facilidade da configuração comparado com o Jenkins... Especialmente por utilizarmos o Pagoda. Estou errado? |
+1 pras versões \m/ @drgomesp A idéia nossa é usar o Travis mesmo (bem lembrado, precisamos de um ticket pra isso), mas acho que seria bacana configurar um Jenkins no vagrant e acessá-lo, até memso porque vamos ter metade do caminho pronto. Pra isso é bom que o serviço e a porta já estejam mapeados. |
Posso fazer isso tranquilamente, porém acredito que, pela limitação de tempo, não conseguirei preparar o Jenkins já pra amanhã. É possível, mas não garanto. Vou escrever os recipes do Puppet para essas versões dos serviços, e ainda tem outras coisas, como os vhosts, que são essenciais pra amanhã. Porém, +1 pro Jenkins, sempre preferível em qualquer situação. |
Na real acho que é só deixar a porta do jenkins no vagrantfile e ele instalado. A idéia é justamente mostrar a gente configurando o Jenkins rapidão pra galera ver que não é bixo de 7 cabeças. Mas não acho que ele faça parte do caminho crítico, só acho bacana deixar ele de reserva ali já. Reconfigurar o vagrant e subir a VM de novo não vai ser bacana de fazer ao vivo =P |
+1. Show de bola, farei isso então. |
@augustohp ja vi você configurando o jenkins mano e não fez isso em menos de uma hora ainda mais com os plugins de métricas etc. |
O Vagrant ja foi feito? |
@wesleyvicthor não vou configurar nada, apenas instalar e abrir uma porta específica pra ele na VM. @suissa ainda não, estou terminando de escrever o Vagrantfile e devo fazer o pull request hoje, antes do hangout. |
@drgomesp, vamos precisar dessas máquinas antes do hangout. Precisaremos configurar as chaves SSH e ver outras configurações para o ambiente de desenvolvimento. |
@netojoaobatista estou no trabalho neste momento, voltarei a trabalhar nisso quando sair, às 17h. De qualquer forma, o básico vai estar pronto até às 22h. Precisamos de mais o que, especificamente? |
@netojoaobatista, @augustohp, tive alguns problemas para configurar, em pouco tempo, as versões combinadas. Acabei seguindo a sugestão do João, e pegando as últimas versões estáveis do CentOS. Mais pra frente podemos mudar - e acho que devemos mesmo, mas para agora, creio que deverá servir. Falta terminar as configurações específicas de vhosts e outros detalhes. |
Devemos mudar de maneira urgente. Começar o projeto com uma versão de 2 anos atrás do PHP é pra mim uma vergonha pessoal. A coisa se agrava mais quando todo o core está bem decidido a finalizar o suporte à árvore do 5.3 esse ano. Mas acho que não precisa de muito não... pelo menos no começo do Hangout vamos (ao meu ver) muito mais o terminal e o PHPUnit do que qualquer outra coisa. @drgomesp Você consegue abrir uma pull request com o Vagrantfile já? Pra gente ir testando e construindo as VMs? |
@augustohp, posso mudar sim. Porém, pelo pouco tempo que temos, acho melhor usar um Ubuntu ou algo parecido. Não tenho costume com ele, pra instalar um 5.4 stable nele é rápido? Estou em fase de término, jájá vou fazer a pull request. |
Com base na situação atual, uma VM para dev é, realmente, necessária? |
Ainda assim acho importante. Estou providenciando a mais simples possível... |
@drgomesp, importante por qual motivo? |
@netojoaobatista acredito que mais pela questão da padronização de ambiente entre os desenvolvedores. E também pela facilidade do gerenciamento de pacotes, ferramentas, etc. Vamos abrir o hangout interno pra discutir melhor isso? |
Acho que rola usar do jeito que está, ter alguma coisa é melhor do que não ter nada. Se mudarmos isso agora corremos o risco de não ter nada como o @netojoaobatista bem notou. Depois mudamos as coisas e discumos melhor. |
Esqueci de referenciar aqui, mas tá feito o Pull Request com o básico. |
Criei um branch, feature/vagrant, para colocar o Vagrant file e os provisioners que usaremos. No commit baecd18 eu peguei os arquivos que o @drgomesp tinha mandado no Pull Request, retirei os comentários e subi sem muita configuração adicional. Pessoal fera em provisioners, tanto com Puppet ou com Chef, o que vocês estão usando ( @hussani , @EHER , @FabioBatSilva)? |
@rogeriopradoj Tenho usado Cookbooks, a maioria desse repositório https://github.com/opscode-cookbooks |
@rogeriopradoj sugiro usar o Puppet, que está a frente do Chef em vários sentidos. Como falei, meu Pull Request ficou bem básico, porque estava tentando resolver na pressa. Mais pra frente pretendo montar algo decente, mas já pode fazer o commit disso também. |
@FabioBatSilva, valeu, cara. @drgomesp Feito merge no develop. Acho que o próximo passo agora é montar os vhosts pelo menos, que não estão montados. @EHER e @eminetto, sei que vocês usam Puppet, como vocês estão fazendo para configurar vhosts no Apache? |
Criar vhosts com o Puppet é muito fácil, na própria documentação isso fica evidenciado de forma simples. |
Como ficou isso? Posso ajudar com algo? |
@EHER não ficou, está ficando. Estou trabalhando nos vhosts agora. Pode sempre ajudar, claro. Basta contribuir. |
Olá, @EHER , tudo certo? No nosso branch Porém ainda temos algumas coisas que estão definidas no Boxfile que será usado em produção no Pagoda que ainda não estão configuradas nesse Puppet dev. Boxfile: Puppet -> ophportunidades.pp:
} @drgomesp, você acha que o package |
Tem alguma forma fácil de subir a app para VM vagrant? |
A vantagem de ter alguma ferramente de provisionamento é garantir que os ambientes são identicos. Nesse caso, isso não é possível. Pelo que vi, o que sabemos do Pagoda (pq é o que vamos configurar no Boxfile) é:
Essa garantia é o bastante? |
@EHER acredito que nesse momento sim, a versão do php e as extensões são o suficiente. Mas o que você sugere para que tenhamos os ambientes mais próximos? Já estou pensando em criar um repositório separado apenas para a configuração do Vagrant, e talvez um outro para os provisionamentos, nesse caso o Puppet, seguindo a mesma ideia do pessoal do https://github.com/pyrocms:
|
Para garantir a versão do php e extensões, o composer dá conta. Ele não instala, mas reclama caso esteja diferente do que está configurado no composer.json. Se for php 5.4 o "php -S localhost:80" deve ser o suficiente para ambiente de desenvolvimento. O lance de ter repositório do puppet, acredito que é válido se a gente quiser usar uma AWS da vida e garantir que o ambiente de produção está igual aos outros ambientes. Agora se o objetivo for criar a possibilidade de ter vários ambientes usando Vagrant e Puppet, gosto da separação em repositórios que vc fez. Como a nossa configuração vai ficar bem simples, provavelmente um arquivo só resolve (não criaria módulos). Nesse caso do Puppet, vamos precisar basicamente de Package, Service e File:
|
Vamos dar uma prioridade pra isso pra facilitar o desenvolvimento de todo mundo e evitar problemas de ambiente e/ou configuração em diferentes ambientes. Isso vai resolver nossa vida pra caramba. A gente tem um branch |
@augustohp vou voltar a olhar tb, cara.
|
Galera, eu tenho uma box do debian7 + php5.5 que pode facilitar bastante. Se vocês quiserem, posso providenciar o setup com o Vagrantfile + puppet. O que acham? Ou é melhor usar o php5.4? |
Olá, @diegoholiveira. Minha opinião: deveríamos usar alguma box oficial do Vagrant e, em cima dela, fazer o provisionamento que for melhor (Puppet, Chef, shell script, qualquer coisa :-) ). Na página oficial, eles só tem Ubuntus LTS lá, https://github.com/mitchellh/vagrant/wiki/Available-Vagrant-Boxes, mas acho que vale a pena (para não termos que dependermos de hospedagem para isso). Sobre o Puppet, acho sim que devemos ir com ele. O pessoal do http://puphpet.com/ (https://github.com/puphpet) tem vários módulos já adaptados até com integração com o Composer, vale a pena da uma olhada também. Sobre o PHP 5.5, voto por ele também, desde que na Pagodabox eles já tenham 5.5 disponível. Senão tiverem, vamos de 5.4 (manter o dev mais próximo do ambiente de produção). @augustohp, sabe que versão o Pagodabox está rodando? |
+1 pra um Ubuntu LTS Versão de PHP no PagodaBox a última é a 5.4.14. 😒 Eu vou ver se normalizo o develop e o master pra gente já poder fazer o |
+1 Ubuntu LTS Trabalhamos com 5.4.x mesmo. |
Deverá ser criado o Vagrantfile necessário para subir uma VM com as seguintes configurações:
Será utilizado o Puppet para a definição das configurações.
PS: Falta decidir os vhosts que serão utilizados, caso necessário.
The text was updated successfully, but these errors were encountered: