Ohje: mikä on jatkuva toimitus

Aikaisemmin me kertoi jatkuvasta integraatiosta (CI). Jatketaan jatkuvalla toimituksella. Tämä on joukko ohjelmistokehitysmenetelmiä. Se auttaa varmistamaan, että koodisi on valmis käyttöönottoa varten.

Ohje: mikä on jatkuva toimitus
/Pixabay/ bluebudgie / PL

Tarina

Ilmaus jatkuva toimitus voitiin nähdä takaisin ketterä manifesti vuodesta 2001 perusperiaateluettelon alussa: "Prioriteettina on asiakkaiden ongelmien ratkaiseminen jatkuvalla ajantasaisten ohjelmistojen toimituksella."

Vuonna 2010 Jez Humble ja David Farley julkaisivat kirja Jatkuvalla toimituksella. Kirjoittajien mukaan CD täydentää lähestymistapaa Jatkuva integraatio ja sen avulla voit yksinkertaistaa koodin valmistelua käyttöönottoa varten.

Kirjan julkaisun jälkeen lähestymistapa alkoi saada suosiota ja parissa vuodessa se hyväksyttiin lähes yleisesti. Mukaan kyselyVuonna 600 yli 2014 kehittäjän ja IT-päällikön kesken suoritetun 97 % teknisistä johtajista ja 84 % ohjelmoijista tunsi jatkuvan toimituksen.

Nyt tämä lähestymistapa on edelleen yksi suosituimmista. IT-yhteisö DevOps ja Jenkins Community vuonna 2018 tehdyn tutkimuksen mukaan se käyttää puolet yli tuhannesta kyselyyn vastanneesta.

Miten jatkuva toimitus toimii?

CD-pohja on koodin valmius käyttöönottoa varten. Tämän tehtävän suorittamiseksi käytetään ohjelmiston julkaisun valmisteluprosessin automatisointia. Sen tulisi olla vakiona eri kehitysympäristöissä, mikä auttaa löytämään nopeasti heikkoja kohtia ja optimoimaan ne. Nopeuta esimerkiksi testausta.

Esimerkki jatkuvasta toimitusprosessista näyttää tältä:

Ohje: mikä on jatkuva toimitus

Jos Continuous Integration -lähestymistapa vastaa kahden ensimmäisen vaiheen automatisoinnista, niin jatkuva toimitus vastaa kahdesta seuraavasta. Prosessin vakaus varmistetaan muun muassa järjestelmillä kokoonpanon hallinta. He seuraavat infrastruktuurin, tietokantojen ja riippuvuuksien muutoksia. Itse käyttöönotto voidaan automatisoida tai tehdä manuaalisesti.

Prosessille asetetaan seuraavat vaatimukset:

  • Tietojen saatavuus valmiudesta siirtyä tuotantoympäristöön ja valmiudesta välittömään julkaisuun (CD-työkalut testaavat koodia ja mahdollistavat julkaisun muutosten vaikutuksen arvioinnin).
  • Kokonaisvastuu lopputuotteesta. Tuotetiimi - johtajat, kehittäjät, testaajat - ajattelevat tulosta, ei vain omaa vastuualuettaan (tuloksena on toimiva julkaisu, joka on tuotteen käyttäjien saatavilla).

CD-levyillä sitä käytetään yleensä koodin tarkistus, ja asiakkaiden mielipiteiden keräämiseen - periaate tumma laukaisu. Uusi ominaisuus julkaistaan ​​ensin pienelle käyttäjäsegmentille - heidän kokemuksensa tuotteen kanssa vuorovaikutuksesta auttaa löytämään puutteet ja bugit, joita sisäisessä testauksessa ei havaittu.

Mitä hyötyä siitä on

Jatkuva toimitus auttaa yksinkertaistamaan koodin käyttöönottoa, mikä vaikuttaa positiivisesti tuottavuuteen ja vähentää työntekijöiden loppuunpalamisen todennäköisyyttä. Viime kädessä tämä vähentää kokonaiskehityskustannuksia. Esimerkiksi CD auttoi yhtä HP-tiimeistä vähentää tällaiset kustannukset 40 prosenttia.

Lisäksi vuoden 2016 tutkimuksen mukaan (sivu 28 asiakirja) - CD:n ottaneet yritykset ratkaisevat tietoturvaongelmat 50 % nopeammin kuin ne, jotka eivät käytä lähestymistapaa. Jossain määrin tämä ero voidaan selittää prosessiautomaatiotyökalujen suorituskyvyllä.

Toinen plus on julkaisujen kiihtyminen. Jatkuva toimitus Suomen kehitysstudiossa auttoi lisää koodin kokoamisnopeutta 25 %.

Mahdolliset vaikeudet

Ensimmäinen ja suurin ongelma on tarve rakentaa uudelleen tuttuja prosesseja. Uuden lähestymistavan edut osoittamiseksi kannattaa siirtyä CD-levyyn vähitellen, ei kaikkein työvoimavaltaisimpien sovellusten aloilla.

Toinen mahdollinen ongelma on koodihaarojen suuri määrä. "Haaroittumisen" seurauksena on toistuvia konflikteja ja suuren ajanhukkaa. Mahdollinen ratkaisu - lähestymistapa ei oksia.

Erityisesti joissakin yrityksissä suurimmat vaikeudet syntyvät testaamisessa - se vie liian paljon aikaa. Testitulokset joudutaan usein analysoimaan manuaalisesti, mutta mahdollinen ratkaisu voi olla testien rinnakkaistaminen CD-toteutuksen alkuvaiheessa.

Sinun tulisi myös kouluttaa työntekijät työskentelemään uusien työkalujen kanssa - alustava koulutusohjelma säästää kehittäjien vaivaa ja aikaa.

Ohje: mikä on jatkuva toimitus
/flickr/ h.ger1969 / CC BY-SA

Työkalut

Tässä on muutamia avoimia työkaluja jatkuvaan toimitukseen:

  • GoCD — palvelin jatkuvaan jakeluun Javassa ja JRuby on Railsissa. Voit hallita koko sovelluksen toimitusprosessia: koonti-testi-julkaisu. Työkalua jaetaan Apache 2.0 -lisenssillä. Löydät sen viralliselta verkkosivustolta asennusopas.
  • Capistrano — puitteet sellaisten komentosarjojen luomiseen, jotka automatisoivat Ruby-, Java- tai PHP-sovellusten käyttöönoton. Capistrano pystyy suorittamaan komentoja etäkoneella muodostamalla yhteyden siihen SSH:n kautta. Toimii muiden jatkuvan integroinnin ja toimitustyökalujen, kuten Integrity CI -palvelimen, kanssa.
  • Gradle on monikäyttöinen työkalu, joka automatisoi koko sovelluskehityssyklin. Gradle toimii Java-, Python-, C/C++-, Scala-, jne. kanssa. Integraatio on Eclipsen, IntelliJ:n ja Jenkinsin kanssa.
  • surina - CD-alusta Go-kielellä. Drone voidaan ottaa käyttöön paikan päällä tai pilvessä. Työkalu on rakennettu säiliöiden päälle ja käyttää YAML-tiedostoja niiden hallintaan.
  • spinaakkeri — alusta jatkuvalle koodin toimittamiselle monipilvijärjestelmissä. Netflixin kehittämä Googlen insinööreillä oli suuri rooli työkalun kehittämisessä. Asennusohjeet löytää sen viralliselta verkkosivustolta.

Mitä luettavaa yritysblogistamme:

Lähde: will.com

Lisää kommentti