Aceasta este prima dintr-o serie sponsorizată în două părți privind Codeship, serviciul securizat de integrare și livrare continuă bazat pe nor.
Codeship este un serviciu de livrare continuă găzduit, care se concentrează pe viteză, fiabilitate și simplitate. Configurați Codeship pentru a vă construi și a implementa aplicația de la GitHub la platforma de producție sau la platforma de producție aleasă de dvs..
Serviciul oferă o varietate de opțiuni de configurare puternice. În prezent, Codeship este integrat cu managerii de cod sursă GitHub și Bitbucket. Suportă o varietate de limbi de programare (Ruby on Rails, Node.js, PHP, Java, Go, Dart etc.) și platforme de implementare (Amazon Web Services, Heroku, Google App Engine etc.)
Practica integrării continue implică testarea automată repetată și fuzionarea codurilor cu notificările pentru a avertiza dezvoltatorii la probleme în codul lor în timp real. Codurile combină acest lucru cu practica livrării continue, care prevede implementarea regulată a codului odată ce schimbările au trecut teste automate.
În esență, atunci când vă împingeți codul în GitHub (sau Bitbucket), Codeship reconstruiește aplicația pe serverele securizate și execută testele automate. Dacă testele nu reușesc, vă informează echipa de dezvoltare prin e-mail sau integrarea cu servicii populare, cum ar fi Slack, HipChat etc. Dacă testele dvs. trec, Codeship urmează linia dvs. definită pentru a muta codul pe servere de staționare sau de producție, după cum se specifică.
Lucrul cu un serviciu cum ar fi Codeship poate reduce la minimum impactul cauzat de bug-uri, accelerează detectarea acestora și face echipa mai confortabilă și mai competentă în a-ți aduce îmbunătățiri regulate incrementale pe platforma dvs. - sperăm că vă veți îmbunătăți reacția clienților și a pieței dvs..
Codurile vă ajută echipa să scrie și să implementeze codul cu încredere sporită. Și blogul Codeship vă ajută să vă grăbiți și să respectați cele mai bune practici. Echipa a publicat, de asemenea, o piesă pe teme esențiale de integrare continuă pe care le puteți citi pe site-ul lor, de asemenea.
În acest tutorial, vă voi trece prin produsul Codeship, detaliind cum să începeți. În următorul episod, voi detalia capabilitățile de implementare a Codeship și noua lor caracteristică ParallelCI, care vă permite să accelerați suitele dvs. de testare, executându-le în paralel.
Doar ca un memento, eu particip la discuțiile de mai jos. Dacă aveți o sugestie de întrebare sau subiect, vă rugăm să postați un comentariu de mai jos. Puteți să mă contactați și pe Twitter @reifman sau să mă trimiteți direct prin e-mail.
Planul gratuit al Codeship permite 100 de proiecte pe lună și cinci proiecte private. Construcții nelimitate și proiecte încep de la 49 $ pe lună. Planurile anuale vă oferă două luni libere.
Proiectele educaționale primesc o reducere de 50%, iar proiectele cu sursă deschisă pot folosi Codeship gratuit.
Dacă parcurgeți în jos până la partea de jos a paginii de prețuri, puteți să faceți clic pe butonul hărțuitor "Apel extrem de mare la acțiune" al lui Codeship pentru a vă înscrie:
E frumos că au un bun simț al umorului.
Atunci când vă înscrieți, vă puteți adăuga la cursul Codeship de cinci zile pe bază de e-mail, care vă prezintă conceptele de bază ale integrării și livrării continue:
Iată un exemplu al primei lecții de e-mail:
De asemenea, vă puteți înscrie pentru cartea electronică excelentă: Eficiența fluxurilor de lucru pentru dezvoltare. Asigurați-vă că urmați și blogul Codeship.
Codeshipul ia serios securitatea. Pentru fiecare proiect pe care îl adăugați în Codeship, aceștia creează o cheie SSH unică, care este ea însăși criptată puternic și doar decriptată cu puțin timp înainte de a fi utilizată în construirea unei mașini virtuale. Pentru fiecare construcție, ei încep o mașină virtuală nouă și curată. Toate modificările pe care le faceți (inclusiv modificările sistemului de fișiere) sunt stocate într-un ramdisk care este eliminat de îndată ce construirea dvs. termină (teste și implementare). Niciunul dintre datele dvs. nu este stocat pe nici un hard disk pe serverele lor de construcție.
Toate comunicările între browserul dvs. și site-ul Web Codeship sunt criptate prin SSL, la fel ca și comunicarea cu coada lor deschisă. Toată comunicarea cu mașinile virtuale de construcție se face prin SSH.
Codurile nu vă vor citi codul dacă nu vi se solicită în mod explicit. Acest lucru s-ar putea întâmpla în cazul unei solicitări de asistență sau dacă vreți ca ceva depistat de inginerii săi. În nici un alt caz nu se vor uita la ceea ce îți aparține - codul tău. Numai angajații Codeship cu normă întreagă participă vreodată la această activitate de sprijin - nu este niciodată externalizată.
Puteți citi mai multe despre procesele de securitate pe site-ul lor web.
Vă puteți înscrie în Codeship utilizând e-mail sau contul GitHub sau Bitbucket prin OAuth:
Dacă utilizați GitHub sau Bitbucket, vi se va solicita să verificați accesul la contul dvs.:
Odată autorizată, veți reveni la pagina de bord Codeship și la proiecte. Este timpul să adăugăm primul nostru proiect:
Pentru a rula testele automate, Codeship trebuie să verifice codul de la furnizorul de cod sursă. În prezent, ei susțin GitHub și Bitbucket, iar altele sunt planificate.
Ori de câte ori aveți nevoie, puteți revoca permisiunea din Setările furnizorului dvs. de cod sursă și puteți elimina cheile de implementare ale Codeship și cârligele de service din paginile de configurare ale proiectelor.
Ideea din spatele Codeship este de a lua codul de la comitetele dezvoltatorilor la managerul de cod sursă și de a rula testele automate în cloud-ul securizat Codeship. Dacă testele dvs. trec, Codeship continuă cu instrucțiunile de implementare. Dacă eșuează, notificările sunt trimise echipei dvs. prin intermediul serviciilor de e-mail sau de comunicare, cum ar fi Slack și HipChat.
Pentru acest tutorial, am introdus codul Yii2 Framework for PHP, care include o varietate de teste automate. Codeshipul acceptă o varietate de limbi de programare, de ex. Ruby on Rails, Node.js, PHP, Java, Go, Dart etc..
Codeship-ul încarcă arhivele mele de la GitHub și am selectat Yii2:
Apoi îmi va cere să aleg tehnologia mea de platformă și să configurez comenzi de testare.
Puteți configura Codeship la un nivel foarte profund, de la nevoi simple la procese sofisticate de dezvoltare a întreprinderii:
În scop demonstrativ, voi adăuga teste de phpunit pentru funcționalitatea bazei Yii2:
Cu alte cuvinte, ori de câte ori împing actualizările la magazia mea GitHub (sau Bitbucket), Codeship va executa teste phpunit pentru mine.
Iată ce arată pagina de proiect Codeship odată ce aceasta a fost configurată:
Apoi, voi declanșa o construcție prin împingerea unei mici actualizări la depozitul meu. Uita-te ca Codeship începe să construiască codul meu ...
... și apoi continuă să ruleze testele unității mele:
După ce ați terminat, puteți vedea un raport complet al tuturor pașilor și dacă testele au trecut sau au eșuat.
Codeship menține un jurnal complet pentru fiecare proiect:
Puteți alege ce face Codeship cu codul dvs. după ce testele dvs. trec. De exemplu, este posibil să actualizați serverul de așteptare pentru teste suplimentare sau, probabil, să răsfoiți totul pe serverele dvs. de producție. Codurile vă permit să definiți conducte sofisticate pentru testare și implementare.
Iată o vizualizare detaliată a meniului Setări proiect:
Iată o privire asupra setărilor Generale pentru UUID-ul proiectului și a cheii publice SSH pentru implementări automate:
Puteți configura notificările pentru activitățile Codeship, de ex. construi erori. Acestea pot trece prin API-uri sau o varietate de servicii ale unor terțe părți, de ex. Slack, Campfire, HipChat etc .:
Există, de asemenea, o extensie gratuită Chrome pentru notificările de construire Codeship numite Shipscope.
Și puteți adăuga o insignă Codeship în readme pentru depozitul dvs. pentru a arăta stabilitatea comitetelor specifice, astfel încât vizitatorii dvs. GitHub (sau Bitbucket) și vizitatorii site-ului să poată vedea în timp real dacă o anumită versiune a trecut testările automate.
Codurile simplifică adăugarea echipei dvs. la proiectele dvs..
Codeship oferă integrare gata de implementare cu multe soluții populare de găzduire, printre care Google AppEngine, Amazon Web Services Code Deploy, Heroku, Motor Yard, Nodejitsu și multe altele.
Voi detalia procesul de desfășurare în următorul episod. Deocamdată, puteți să consultați tutorialele Codeship pentru diferite platforme.
Au o gamă largă de documente pentru opțiunile de implementare continuă:
Iată un scurt ghid despre cum să implementați o aplicație Ruby on Rails de la GitHub la Heroku, iar videoclipul este de mai jos. Codeship oferă un număr de ghiduri video pe canalul Vimeo.
În tutorialul următor, voi continua să se desfășoare împreună cu Codeship și noua sa caracteristică ParallelCI, care vă permite să vă accelerați suitele de testare, executându-le în paralel.
Vă rugăm să nu ezitați să postați întrebările și comentariile dvs. de mai jos. Puteți să mă contactați și pe Twitter @reifman sau să mă trimiteți direct prin e-mail. De asemenea, puteți să răsfoiți pagina instructorului Tuts + pentru a vedea alte tutoriale pe care le-am scris.