Ce este Deploy
Fără îndoială, subiect, cred că, mai multe găuri de oprire în sus - la urma urmei, disloca trebuie să fie făcut pentru fiecare proiect - dar eu încă îl ridica și vă spun despre un instrument de mare, care, dintr-un motiv ciudat, încă nimic a scris Habré, și într-adevăr în segmentul rusesc al o dată puțin despre ea că este scris. Corectați această neînțelegere.
Deployer este bun în multe privințe. cod de script pentru deploya obținut scurt. Este scris în bună vechi Pyhchanskom, ambalate într-un binar de sine - adică, pentru a pune deoparte alte instrumente de pe server nu trebuie să. De ce-nu-l zayuzat în proiectele lor?
Am scris un utilitar Anton Medvedev, în felul său destul de bine pe blog-ul are. Vă mulțumesc, Anton :)
Ceea ce eu personal ca cele mai multe din ceea ce face ca acest instrument - este posibil să se revină rapid la ultimul „de lucru“ de presă, în cazul în care noua versiune nu a reușit. De asemenea, este destul de convenabil că, dacă încercați să „lansa“ o nouă versiune ceva nu merge bine (migrația nu este aplicabilă, fișierele frontend nu sunt compilate, testele nu conduc ..) - că cererea de funcționare curentă nu este afectată - va funcționa ca și cum nimic nu sa întâmplat. Faptul că Deployer nu se va schimba link-ul dintr-un director care indică eliberarea activă în prezent, până în momentul în care noul dvs. „de presă“ nu va fi pe deplin instalat și gata de utilizare.
Singurul lucru care nu rezolvă Deployer - o potențială problemă cu migrarea aplicație la baza de date. Dar este, în general, un subiect dificil, nu știu dacă există soluții elegante în acest caz. Dacă există - voi fi bucuros să știu ce.
Structura de presă Folder
Întregul proiect este împărțit în trei dosare: curent. comunicate și partajate. În general, este destul de comună pentru un astfel de instrument de tip, și este foarte ușor. De exemplu, într-unul dintre proiectele mele în Laravel, această structură arată astfel:
Exemplu aplicație script deploya Laravel
Mie personal imi place să vin la server, executați deploya script-ul și să respecte procesul său de lucru. Pur și simplu, mă simt mult mai sigur de a trăi, pentru că pot lua întotdeauna unele măsuri urgente, în cazul în care deploe ceva nu merge bine. Și, după cum știu, oamenii de obicei, începe ca un script de la aparatul local, care este conectat la server prin SSH și produce disloca. Dacă acest lucru se va face pe mai multe - atunci această abordare va fi cu siguranță mai convenabil. Apropo, Deployer vă permite să implementați pe mai multe mașini, de asemenea.
Desigur, înainte de a obține posibilitatea de a rula acest script, trebuie să instalați mai întâi Deployer pe sistemul dumneavoastră.
Într-unul dintre proiectele mele de pe Laravel 5 script deploya deploy.php este după cum urmează:
De asemenea, am o pereche de fișiere mici, situată lângă fișier de mai sus: start-deploy.sh și rollback-deploy.sh. Pentru a implementa rapid și rulează, respectiv, să se rostogolească înapoi la aceasta.
Prin urmare, pentru a începe procesul de deploya, suntem lăsați să colecteze o singură echipă în Bash'e:
Astfel, după cum putem vedea introducând o singură comandă, vom forța server pentru a efectua toate demersurile necesare pentru implementarea proiectului nostru. Și numai dacă totul a mers bine, directorul curent va înlocui trimiterea la noua versiune și a reporni PHP după toate.
În general, asta e tot ce am vrut să spun și să arate. Să sperăm că acest lucru va fi util cuiva. Și, desigur, va fi interesant să știm părerea altor persoane cu privire la modul în care acestea fac deploem aplicațiile lor.