Ambiente de desenvolvimento: Vagrant, Docker, outro ou nada? #19
Replies: 27 comments
-
@theandersonn sempre usei vagrant, e nunca me decepcionou :) Comecei a "brincar" com algo em docker, mas sempre com algum ambiente que não o do meu projeto. Ex: estou rodando o codeclimate na minha máquina usando docker. Uma das coisas que percebi de ruim usando vagrant, em algumas situações, é a lentidão. Dá pra resolver com NFS=true e outras configs no Vagrantfile. Mas sei lá, me parece em alguns momentos meio lento... Você usa algum deles? |
Beta Was this translation helpful? Give feedback.
-
Eu tenho instalado uma vagrant baseada neste cara https://github.com/r8/vagrant-lamp sou muito impaciente então não consigo me ver executando 1 vagrant por vez, então temos 1 vagrant para todos os projetos em WP e Magento, arrancamos tudo que não usamos e adaptamos ela. Ela ainda usa apache, nossa próxima melhoria é colocar nginx pra ficar próximo do que vemos no server em produção e homologação. Uma coisa que gostei muito desta distribuição são as data_bags que fica prático de configurar. Quanto a lentidão com o NFS resolvi muita coisa, mas segue como é meu Vagrantfile: `# -- mode: ruby -- vi: set ft=ruby :Vagrant.require_version ">= 1.7.1" Vagrant.configure("2") do |config| All Vagrant configuration is done here. The most common configurationoptions are documented and commented below. For a complete reference,please see the online documentation at vagrantup.com.Every Vagrant virtual environment requires a box to build off of.config.vm.box = "studioboz_lamp" The url from where the 'config.vm.box' box will be fetched if itdoesn't already exist on the user's system.config.vm.box_url = "https://cloud-images.ubuntu.com/vagrant/trusty/current/trusty-server-cloudimg-amd64-vagrant-disk1.box" Create a forwarded port mapping which allows access to a specific portwithin the machine from a port on the host machine.Forward MySql port on 33066, used for connecting admin-clients to localhost:33066config.vm.network :forwarded_port, guest: 3306, host: 33066 Forward http port on 8080, used for connecting web browsers to localhost:8080config.vm.network :forwarded_port, guest: 80, host: 8080 Create a private network, which allows host-only access to the machineusing a specific IP.config.vm.network :private_network, ip: "192.168.33.10" Set share folder permissions to 777 so that apache can write files#config.vm.synced_folder ".", "/vagrant", mount_options: ['dmode=777','fmode=666'] Provider-specific configuration so you can fine-tune VirtualBox for Vagrant.These expose provider-specific options.config.vm.provider :virtualbox do |vb|
end Enable provisioning with chef solo, specifying a cookbooks path, rolespath, and data_bags path (all relative to this Vagrantfile), and addingsome recipes and/or roles.config.vm.provision :chef_solo do |chef|
end config.vm.provision :chef_solo ,run: "always" do |chef| Algumas configurações de CPU, de NAT DNS, e apesar de ter 24GB de RAM, só uso 2GB na vagrant, teve um temp que antes de adicionar as configs de processador e NAT e NFS eu usava 6 a 8GB. Só não libero essa vagrant hoje pois ela está ainda muito suja e tem detalhes que ainda não definimos direito. |
Beta Was this translation helpful? Give feedback.
-
Atualmente uso Docker + Docker Composer no ambiente de desenvolvimento. :D Prós: Leveza, em relação ao Vagrant e provisioners. :D Linux Containers <3 |
Beta Was this translation helpful? Give feedback.
-
Usei docker + docker composer é fácil e fantástico! Cheguei a usar em produção junto com CoreOS, só que tive problemas ao redimensionar o disco na DigitalOcean, talvez já tenham resolvido... Mas por conta da equipe atualmente, não estou podendo usar mais nada kkkk |
Beta Was this translation helpful? Give feedback.
-
@cicerohen @rkb81 @fabricionaweb vcs usam vagrant/docker até pra stacks que tenham só front-end? Aqui na BankFacil por exemplo, o projeto do front é uma SPA, e está separada do back-end. Usar um vagrant/docker acho que dificultaria algumas coisas com os testes eu acho (PhantomJS, etc.). |
Beta Was this translation helpful? Give feedback.
-
@eduardojmatos; Não, só para front não.. Só quando preciso de um ambiente mais divergente e sério, tipo instalar o PHP, Node, ou Mongo em versões especificas, ou instalar alguns pacotes que precisam de dependências mais baixas, compilar coisas que podem dar conflitos em certas versões, etc |
Beta Was this translation helpful? Give feedback.
-
No meu caso ainda não implementei. Estou migrando agora pro Ubuntu; xi..... sim eu sei :( Pesquisei por materiais e gostei bastante da filosofia do Docker e pelos comandos serem bem parecidos com o git, mas na pratica ainda não consegui entender como algumas coisas funcionam. Estou querendo testar na pratica o Vagrant, mas como mudei de sistema a pouco, me perdi na configuração inicial; instalei o virtual box, vagrant e criei uma máquina baseada nesta imagem https://cloud-images.ubuntu.com/vagrant/precise/current/precise-server-cloudimg-amd64-vagrant-disk1.box iniciei, só que quando fui acessar, deu erro de ssh; Acho que errei na configuração do vagrantfile, alguma sugestão de leitura? |
Beta Was this translation helpful? Give feedback.
-
Eu já usei o Vagrant para rodar meu ambiente de desenvolvimento em Rails. Me atendeu muito bem em tudo. Facil de configurar, porém, um pouco pesado e lento algumas vezes. Usei o Docker só uma vez, e gostei bastante, principalmente ao que ele se propõe. @theandersonn vou deixar alguns links uteis: http://www.seascapewebdesign.com/blog/part-1-getting-started-vagrant-windows-7-and-8 |
Beta Was this translation helpful? Give feedback.
-
Então @eduardojmatos meus projetos frontend sempre tem Magento, WordPress, CodeIgniter ou Symfony2 então fica complicado pensar em isolar quando eu já construo as soluções integradas. Mas a exemplo meu blog que é jekyll não precisa de ambiente algum a não ser a instalação do ruby e Node.js pra rodar o gulp e as tasks. Ah sim eu tenho 0 conhecimento de javascript, meu forte é design, integrações (html e css), então essa parte de testes com javascript e outras coisas deixo sempre pra quem é fã de javascript. |
Beta Was this translation helpful? Give feedback.
-
@theandersonn este artigo do Nando Vieira é focado pra windows, mas serve pra você entender no linux também como fazer, apesar de antigo ele é muito válido. Usando o Vagrant como ambiente de desenvolvimento no Windows |
Beta Was this translation helpful? Give feedback.
-
Opa Valeu! Obrigado pelas recomendações. @rkb81 Nesse artigo do Nando, acho que achei o ponto em que fiquei agarrado. Em casa vou fazer uma nova tentativa, obrigado. |
Beta Was this translation helpful? Give feedback.
-
Entendi. Queria ver se alguém já tinha usado com esse cenário de testes com PhantomJS por exemplo hehehe Se achar eu mando por aqui! |
Beta Was this translation helpful? Give feedback.
-
@eduardojmatos já mantive o dev de SPA com AngularJs usando Vagrant. Era um ubuntu server, usamos o N para gerenciar o node, com bower, grunt-cli e yeoman globais. Todo o resto (inclusive o phantomJs) eram tratados como dependências dos projetos e gerenciadas por npm. Era uma solução bacana quando a máquina do desenvolvedor era windows. Em nosso caso, mantinha-mos apenas uma vagrant box para todos os projetos feitos em Angular. |
Beta Was this translation helpful? Give feedback.
-
Como eu passo 90% do tempo em projetos SPA, prefiro manter meu stack direto no Mac. |
Beta Was this translation helpful? Give feedback.
-
@juniorconte boa! Eu estava mais intrigado em trabalhar com testes rodando em browser, livereload, entre outras coisas que, me parecem precisar de configurações diferentes por conta da aplicação estar numa outra machine. |
Beta Was this translation helpful? Give feedback.
-
Alguém já testou o otto? Dizem que é o sucessor do Vagrant, inclusive foi criado e é mantido pelo pessoal que criou o Vagrant...parece interessante. |
Beta Was this translation helpful? Give feedback.
-
Srs. OBRIGADO pelos links compartilhados. Como falei estou utilizando o Ubuntu (comecei agora...) e na verdade não é dificil, eu que não estava entendendo como as coisas funcionam no Vagrant e não estava configurando o vagrantfile, fiz uma nova instalação e configurei as linhas: config.vm.network e config.vm.synced_folder Vou explorar a ferramenta e em breve começar a ver como o Docker funciona, fazer um comparativo. No geral estou mantendo um ambiente nativo para PHP, e para testar ambientes específicos sem cagar o tudo que tenho o Vagrant será excelente. Valeu :) |
Beta Was this translation helpful? Give feedback.
-
Que massa Anderson!!! Realmente algumas configs são chatinhas. Depois que aprende o que são fica tranquilo alterar/adicionar!! Reinaldo, não brinquei com o Otto ainda, mas parece sensacional. Você já mexeu? |
Beta Was this translation helpful? Give feedback.
-
@schiehll chegou a testar o Otto? Também estou bem curioso :) |
Beta Was this translation helpful? Give feedback.
-
Só para atualizar a thread. Ontem o docker lançou um novo Beta bem melhor. Para quem tem curiosidade segue o link https://blog.docker.com/2016/03/docker-for-mac-windows-beta/ |
Beta Was this translation helpful? Give feedback.
-
Vish, um mês pra responder auhsaus pois é @eduardojmatos, eu tentei dar uma brincada com o otto mas não rolou, até por isso que perguntei se alguém já testou, pq pareceu bem promissor...mas tava falando com o @karlprieb esses dias sobre esse esquema do docker que ele postou aqui...parece bem foda mesmo, mas também não pude testar pq não recebi retorno da inscrição que fiz pro beta |
Beta Was this translation helpful? Give feedback.
-
uso o docker + wine pra testar coisas do |
Beta Was this translation helpful? Give feedback.
-
Galera estou querendo começar a usar o Docker no ambiente de desenvolvimento, mas minha dúvida é na hora de fazer este deploy em produção, qual solução vocês usam? |
Beta Was this translation helpful? Give feedback.
-
@rpaggi então, na real nunca usei docker pra dev, mas acabei rodando o codeclimate na minha máquina. Foi bem de boa o instalador pro Mac. Mas não usei pra ambiente de desenvolvimento, muito menos pra production |
Beta Was this translation helpful? Give feedback.
-
@schiehll 1 mês se passou e não consegui mexer nele tbm hehehehe |
Beta Was this translation helpful? Give feedback.
-
@schiehll @eduardojmatos Já que ainda não recebi o invite para o docker beta hoje vou testar o otto novamente e dou um feedback para vocês :) |
Beta Was this translation helpful? Give feedback.
-
@karlprieb boa! :) |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
O que está rolando na máquina de vocês?
Prós e contras de ambientes testados.
Beta Was this translation helpful? Give feedback.
All reactions