Medii de dezvoltare

Ce folositi ca mediu pentru dezvoltare?

Eu ma bazez mult pe Vagrant, http://www.vagrantup.com.

Am mai gasit o chestie draguta cu ceva potential, http://bowery.io/ dar cand am testat-o eu acum cateva luni avea niste buguri la file watching. Mi s-a spus ca s-ar fi rezolvat.

1 Like

Exact aceeasi situatie si la mine, folosesc Vagrant, iar cand am descoperit Bowery avea probleme (ulterior s-au rezolvat, dar nu am mai avut rabdare sa incerc).

Bowery pare o solutie ideala pentru mobilitate, dar ei nu garanteaza ca serviciile oferite vor fi permanente. Mai e problema conexiunii la net, dar cazurile in care lucrezi offline sunt extrem de rare. Iar daca esti paranoic, iti pui si problema protectiei codului, care e pe server-ul lor.

Eu m-am mai jucat putin cu Docker dar nu am simtit nevoia sa imi creez un mediu bine definit pana acum. Voi ce avantaje aveti in folosirea unui mediu de dezvoltare de genul acesta?

Un avantaj extrem de important e ca poti clona setup-ul environment-ului de productie si il poti distribui usor.

Vagrant desi cand faci modificari sunt cam stufoase configurile (puppet)

Poate ca nu am inteles eu corect Vagrant, dar stiu ca iti creai un config file pentru environment-ul care urmeaza sa fie construit.

Asta inseamna ca nu pot sa instalez o masina, sa ii fac niste modificari dupa ce am creat-o cu Vagrant si sa o distribui mai departe cu modificarile facute de mine, nu?

Poti sa modifici configul si dai provision. Folderul de vagrant (cu configurari) il pui in repository si astfel toata lumea are acelasi environment de dev.

Prin comparatie la Docker poti sa intri in instanta sa faci modificarile acolo, si nu updatezi nici un config care descrie instanta. Dupa care poti sa faci un push al instantei si poti sa o distribui. Aceasta varianta mi-a placut mai mult.
Mi s-a parut mult prea greoi modul de folosire a Vagrant.

Edit:
Ca sa fiu mai exact, poate imi dau seama ca trebuie sa fac o modificare undeva in mijlocul configului. Fac acea modificare dar trebuie sa ma asigur ca instanta este valida in continuare, asa ca rulez Vagrant pe config sa vad daca intradevar mai imi genereaza o instanta valida. Astept sa se genereze, testez instanta, si dau provision.
Spune-mi te rog daca am inteles eu gresit modul de folosire.

Vagrant are mai multe feluri în care ar putea fi folosit. Primele două au același scop (configurarea într-un mod rapid de transferat și ușor de ținut sub version control). Ultimul este util în cazul în care nu vrei să-ți bați capul prea mult cu editarea de config-uri:

  1. Puppet
  2. Chef
  3. Box normal de Virtualbox (sau VMWare/Parallels/Etc) căruia i se face pack (nu sunt sigur că ăștia sunt termenii, dar ideea rămâne). Rezultatul este un fișier .box ce poate fi folosit împreună cu vagrant up

Posibil să existe o modalitate de a face export la un box spre chef/puppet. Nu m-a interesat foarte mult.

Docker este folosit chiar de acest forum, dar fiind prima dată când îl folosesc nu pot să-mi fac o părere avizată.

Aparut azi in newsfeed: http://www.sitepoint.com/create-share-vagrant-base-box/ :smile:

1 Like

Daca folosesti Vagrant Cloud poti da remote access prin ssh la vagrant box-ul tau altor dezvoltatori in genul TeamViewer.

Am incercat Koding dar nu prea imi place, OpenShift de la RedHat imi place foarte mult.
Ai 3 vpsuri limitate (gears) gratis si imi place mult cum poti scala un site la ei.
Este potrivit pentru proiecte cu un singur developer, parerea mea, pt ca odata de faci deploy cu git push intra direct in productie si daca ai mai multi developeri poti avea conflicte in productie, asta daca folosesti OpenShift pt productie adica hosting pt siteul final.

Cred ca voi testa si Bowery sa vad cum e.

Un topic interesant unde autorii Docker si Vagrant (nu am verificat) dau raspunsuri pertinente:

Eu folosesc Vagrant pe OS X (cu VMware Fusion, pentru ca VirtualBox mi-a creat ceva probleme). Provision-ul la masina e facut cu un script in Bash care instaleaza si configureaza tot.
Pana acum a functionat bine pt mine, problema a fost cand am incercat sa conving colegii care lucreaza pe Windows sa foloseasca Vagrant: probleme cu cheile SSH, file sync foarte incet cu VirtualBox (know problem) care afectau toata aplicatia si nici setup-ul cu rsync nu prea a ajutat. Tips&tricks de la utilizatorii de Vagrant pe Windows sa le impart cu colegii?

Am incercat si eu, de nevoie, vagrant pe windows. Cel mai mare cosmar al meu. Mi-a luat aproape o ora sa setez ce aveam nevoie iar a doua zi cand am vrut sa pornesc masina virtuala s-a stricat ceva la bridge-ul de conexiuni si nu mai boota. Sa nu mai zic ca nu puteam deschide network and sharing center pe host computer.

1 Like

Nasol! Si cand te gandesti ca fix pe Windows ai nevoie cel mai mult de un astfel de tool (pe OS X sau Linux poti sa devzolti linistit direct pe localhost).

1 Like

Da stiu, worst two weeks of my life cat am avut mac-ul in service.

@neamtua: adică ce vrei să spui? Că și mac-urile se strică? :dash:

@redecs: Eu folosesc Vagrant dar am observat că este foarte… fragil:

  • merge ok, dar când trezesc PC din standby nu mai pornește vagrant (dar de cele mai multe ori funcționează bine)

  • vagrant halt merge exact când are chef. Mai exact niciodată (dar doar la anumite box-uri!)

  • problemele de viteză. Am rezolvat parțial cu rsync. Este tot lent, dar este mai suportabil (un WP cu VVV merge acceptabil; se încarcă în 1-2 secunde,

@iamntz DIn pacate da, fiind din 2011 m-am lovit de o problema comuna in ultima vreme printre alti posesori de acelasi model si anume mi-a murit placa grafica si a necesitat un intreg motherboard replacement :frowning:

Nu stiu daca problema mea pe pc a fost din cauza Vagrant-ului sau al Virtualbox-ului. Cert e ca am mai incercat cu cateva luni in urma sa setez Vagrant pe Windows la o colega cu care lucram si mi-a luat 2 ore sa fac debugging la toate erorile aparute.

Am descoperit link-ul ăsta: http://nefariousdesigns.co.uk/vagrant-virtualised-dev-environments.html
S-ar putea să fie util :smile: