Dette er den første av en sponset todelerserie på Codeship, den sikre, skybaserte kontinuerlige integrasjonen og leveringstjenesten.
Codeship er en vert kontinuerlig leveringstjeneste som fokuserer på fart, pålitelighet og enkelhet. Du konfigurerer Codeship å bygge og distribuere applikasjonen din fra GitHub til staging eller produksjonsplattformen du ønsker.
Tjenesten tilbyr en rekke kraftige oppsettalternativer. For tiden er Codeship integrert med populære kildekodeforvaltere GitHub og Bitbucket. Den støtter en rekke programmeringsspråk (Ruby on Rails, Node.js, PHP, Java, Go, Dart, etc.) og distribusjonsplattformer (Amazon Web Services, Heroku, Google App Engine, etc.)
Utøvelsen av kontinuerlig integrasjon innebærer gjentatt automatisert testing og kodefusjonering med varsler for å varsle utviklere til problemer i koden i sanntid. Codeship kombinerer dette med praksis med kontinuerlig levering, som sørger for vanlig kodeutplassering når endringer har bestått automatiserte tester.
I hovedsak, når du trykker på koden til GitHub (eller Bitbucket), bygger Codeship din søknad på sine sikre servere og kjører automatiske tester. Hvis testene mislykkes, underretter det utviklingslaget ditt via e-post eller integrering med populære tjenester som Slakk, HipChat osv. Hvis tester passerer, følger Codeship din definerte rørledning for å flytte kode til staging eller produksjonsservere som angitt.
Arbeide med en tjeneste som koder kan minimere nedfall fra feil, øke gjenkjenningen og gjøre teamet ditt mer komfortabelt og dyktig i å slippe regelmessige inkrementelle forbedringer på plattformen. Forhåpentligvis forbedrer du responsen til kundene og markedet..
Kodeship hjelper teamet ditt å skrive og distribuere koden med økt tillit. Og Codeship Blog hjelper deg med å komme opp til fart og holde tritt med beste praksis. Teamet har også publisert et stykke på kontinuerlig integrering, som du også kan lese på deres nettsted.
I denne opplæringen vil jeg gå deg gjennom Codeship-produktet, og detaljere hvordan du kommer i gang. I neste episode kommer jeg til å få detaljer om kodifiseringens distribusjonsmuligheter og deres nylig utgitte funksjon ParallelCI, som lar deg feste testesuper ved å kjøre dem parallelt.
Akkurat som en påminnelse, deltar jeg i diskusjonene nedenfor. Hvis du har et spørsmål eller et emneforslag, vennligst legg inn en kommentar nedenfor. Du kan også nå meg på Twitter @ reifman eller email meg direkte.
Codeships gratis plan gir 100 bygg per måned og fem private prosjekter. Ubegrenset bygg og prosjekter begynner på $ 49 per måned. Årlige planer gir deg to måneder gratis.
Pent, opplæringsprosjekter får 50% rabatt, og åpen kildekodeprosjekter kan bruke Kodeship gratis.
Hvis du ruller ned til selve bunnen av prissiden, kan du klikke på Codecs skreddersydde "uhyrlig store call-to-action-knapp" for å registrere deg:
Det er fint at de har en god sans for humor.
Når du registrerer deg, kan du legge deg til Codeships fem-dagers e-postbaserte crash kurs som introduserer deg til de grunnleggende konseptene for kontinuerlig integrering og levering:
Her er et eksempel på den første e-leksjonen:
Du kan også registrere deg for deres gode eBok: Effektivitet i utviklings arbeidsflyter. Sørg også for å følge Kodeship-bloggen.
Kodeship tar sikkerhet på alvor. For hvert prosjekt du legger til Kodeship, oppretter de en unik SSH-nøkkel som selv er kryptert sterkt og kun dekrypteres kort før den brukes i den virtuelle maskinen. For hver bygg, starter de en ny og ren virtuell maskin. Alle endringene du gjør (inkludert filsystemendringer) lagres i en ramdisk som fjernes så snart byggingen er ferdig (tester og distribusjon). Ingen av dataene dine blir lagret på noen harddisk på deres byggeservere.
All kommunikasjon mellom nettleseren din og Kodeship-nettstedet er SSL-kryptert, slik som alle kommunikasjoner til deres openredis-kø. All kommunikasjon til de virtuelle maskinene er ferdig over SSH.
Kodeship vil aldri lese koden din hvis ikke eksplisitt forespurt av deg. Dette kan skje når det gjelder en forespørsel om støtte eller hvis du vil ha noe feilsøking av sine ingeniører. I intet annet tilfelle vil de se på hva som tilhører deg - koden din. Bare heltidskodeskapsansatte deltar alltid i denne støtten - det blir aldri outsourcet.
Du kan lese mer om deres sikkerhetsprosesser på deres hjemmeside.
Du kan registrere deg med Kodeship ved hjelp av e-post eller din GitHub eller Bitbucket-konto via OAuth:
Hvis du bruker GitHub eller Bitbucket, blir du bedt om å bekrefte tilgangen til kontoen din:
Når du er autorisert, går du tilbake til kodeskiltets dashboard og prosjekter. Det er på tide å legge til vårt første prosjekt:
For å kjøre automatiserte tester må Kodeship sjekke koden din fra leverandøren av kildekoden. For tiden støtter de GitHub og Bitbucket, og andre er planlagt.
Når som helst du trenger, kan du tilbakekalle tillatelsen i innstillingene for kildekodeleverandørens innstillinger, og kan fjerne kodens distribusjonsnøkler og servicekroker fra prosjektets konfigurasjonssider.
Ideen bak Codeship er å ta kode fra utviklernes forpliktelser til kildekodeadministratoren og kjøre automatiserte tester i den sikre Codeship-skyen. Hvis testene dine passerer, fortsetter Codeship med distribusjonsinstruksjonene dine. Hvis de mislykkes, sendes meldinger til teamet via e-post eller kommunikasjonstjenester som Slack og HipChat.
For denne opplæringen har jeg forkedt Yii2 Framework-kodebase for PHP, som inkluderer en rekke automatiserte tester. Codeship støtter en rekke programmeringsspråk, f.eks. Ruby on Rails, Node.js, PHP, Java, Go, Dart, etc.
Codeship laster mine arkiver fra GitHub, og jeg velger bare Yii2:
Da vil det be meg om å velge min plattformsteknologi og sette opp testkommandoer.
Du kan konfigurere Codeship på et svært dypt nivå, fra enkle behov til sofistikerte enterprise level-prosesser:
For demonstrasjonsformål legger jeg til phpunit-tester for Yii2s basisfunksjonalitet:
Med andre ord, når jeg skyver oppdateringer til mitt GitHub (eller Bitbucket) repository, vil Codeship kjøre fiksitester for meg.
Her ser du hvordan kodeprosjektets side ser ut når en gang har blitt konfigurert:
Deretter utløser jeg en konstruksjon ved å trykke en liten oppdatering til mitt arkiv. Se som koder begynner å bygge min kode ...
... og fortsetter deretter å kjøre enhetstestene mine:
Når det er gjort, kan du se en fullstendig rapport om alle trinnene og om testene har gått eller mislyktes.
Kodeship opprettholder en fullstendig logg for hvert prosjekt:
Du kan velge hvilket kodeks som gjør med koden din etter at testene har bestått. For eksempel, kanskje du oppdaterer staging-serveren for ytterligere tester, eller kanskje du ruller alt ut til produksjonsserverne dine. Codeship lar deg definere sofistikerte rørledninger for testing og distribusjon.
Her er en detaljert oversikt over Prosjektinnstillinger-menyen:
Her er en titt på de generelle innstillingene for prosjektet UUID, og SSH-nøkkelen for automatiserte distribusjoner:
Du kan konfigurere varsler for koder-aktiviteter, f.eks. bygge feil. Disse kan gå gjennom APIer eller en rekke tredjepartstjenester, f.eks. Slack, Campfire, HipChat, etc .:
Det er også en gratis Chrome-utvidelse for Codeship-byggevarsler kalt Shipscope.
Og du kan legge til et kodeskilt til lageret readme for å vise stabiliteten til bestemte forpliktelser, slik at din GitHub (eller Bitbucket) og nettstedet besøkende kan se i sanntid om en bestemt utgave har bestått sine automatiserte tester.
Codeship gjør det enkelt å legge til laget ditt i prosjektene dine.
Codeship gir ferdig installert distribusjon integrasjon med mange populære hosting-løsninger, inkludert Google AppEngine, Amazon Web Services Code Deploy, Heroku, Engine Yard, Nodejitsu og mer.
Jeg kommer til å dykke inn i mer detalj av distribusjonsprosessen i neste episode. For nå kan du vurdere Kodeship's opplæringsprogrammer for ulike plattformer.
De har et bredt spekter av dokumentasjon for kontinuerlige distribusjonsalternativer:
Her er en kort veiledning om hvordan du distribuerer en Ruby on Rails-app fra GitHub til Heroku, og videoen er under. Codeship tilbyr en rekke video guider på sin Vimeo kanal.
I den neste opplæringen vil jeg dykke mer inn i distribusjon med Codeship og den nye ParallelCI-funksjonen, som lar deg feste testesuper ved å kjøre dem parallelt.
Ta gjerne inn dine spørsmål og kommentarer nedenfor. Du kan også nå meg på Twitter @ reifman eller email meg direkte. Du kan også bla gjennom min Tuts + instruktørside for å se andre opplæringsprogrammer jeg har skrevet.