Continuous Integration vs Continous Delivery vs Continous Deployment

Am pus mai sus un articol, ca sa fie o initiere in tema si mai departe, in acest topic, vreau sa continuam cu experiente de-ale vostre in acest domeniu. Daca folositi asa ceva, in ce mod le folositi (ce unelte), ce parere aveti despre asta s.a.m.d.

Referitor la unelte, am vazut ca pentru Continous Integration, este popular Travis CI, l-ati folosit careva? Cum este?

1 Like

Travis mi se pare exagerat de scump. Este $130/lună.

Eu folosesc Gitlab CI (de la ultima versiune are CI built in) dar doar pentru continuous delivery și merge fără probleme. Te costă maximum 20$/lună (adică un VPS cu minimum 2GB RAM) și, pe lângă CI, mai ai și git hosting :smile:

3 Likes

Noi folosim TeamCity de la JetBrains. Mai demult am folosit Bamboo de la Attlasian. Astea doua sunt comerciale dar gratis pana la 10-15 useri.

Stiu multa lume care foloseste Jenkins ca e gratis. Eu personal cred ca e dificil de configurat si din punct de vedere vizual este foarte urat.

Cat despre practicile mentionate mai sus:

  1. CI - absolut pro. Orice proiect modern ar trebui sa fie integrat continuu. Chiar si un proiect scris doar de tine singur ar trebui sa fie asa. De ce? De exemplu daca lucrezi la 2 feater-uri simultan te ajuta sa-ti integrezi branchurile. Pe de alta parte iti ruleaza testele si iti compileaza programul, respectiv il impacheteaza pentru instalare. Deci … de ce nu?
  2. Continuous Deployment - sunt pro, este mai specific proiectului. Intrebarea de pus aici este la ce nivel vrei sa faci deploy? La nivel de companie? La nivel de beta useri? La nivel de toti useri? Alege, decide, and go on.
  3. Continuous Delivery - perfect pentru proiecte cu risc redus (ie. aplicatii mobile, site-uri web, etc). De evitat pentru proiecte cu risk ridicat (ie. sisteme de operare, echipamente de retelistica, echipamente de stocat date, echipamente medicale, etc)
3 Likes

Am folosit Envoyer.io care e conceput special pentru Laravel si mi-a placut destul de mult. Interfata foarte atractiva si are destul de multe features, cum ar fi: healthy url checking, heartbeats, version rollback, tests, notifications (hipchat/slack), manage environment (dotEnv). E 10$/luna.
M-am uitat peste Jenkins, nu mi-a placut deloc, chiar daca e free. Dureaza mult configurarea, iar experienta nu e atat de placuta.
Mi-a mai placut CodeShip care e aproape de envoyer.io, privind “overall experience”. Am de gand sa-l incerc cu Capistrano

1 Like