Segítség: mi az a folyamatos kézbesítés

Korábban mi mondta a folyamatos integrációról (CI). Folytassuk a Folyamatos szállítással. Ez a szoftverfejlesztési módszerek összessége. Segít abban, hogy a kód készen álljon a telepítésre.

Segítség: mi az a folyamatos kézbesítés
/Pixabay/ bluebudgie / PL

Történet

A folyamatos kézbesítés kifejezés visszaköszönhetett agilis kiáltvány 2001-től az alapelvek listájának elején: „A prioritás az ügyfelek problémáinak megoldása a naprakész szoftverek folyamatos szállításával.”

2010-ben megjelent Jez Humble és David Farley egy könyv folyamatos szállítással. A szerzők szerint a CD kiegészíti a megközelítést Folyamatos integráció és lehetővé teszi a kód telepítéshez való előkészítésének egyszerűsítését.

A könyv megjelenése után ez a megközelítés kezdett egyre népszerűbb lenni, és néhány év alatt szinte általánosan elfogadottá vált. Alapján felmérés600-ben több mint 2014 fejlesztő és informatikai vezető részvételével a műszaki vezetők 97%-a és a programozók 84%-a ismerte a folyamatos szállítást.

Ma ez a megközelítés továbbra is az egyik legnépszerűbb. A DevOps és a Jenkins Community IT közösség bevonásával készült 2018-as tanulmány szerint ez felhasznál a több mint ezer megkérdezett fele.

Hogyan működik a folyamatos kézbesítés?

A CD alapja a kód készenléte a telepítésre. Ennek a feladatnak a végrehajtásához a szoftver kiadásra való előkészítésének automatizálását használják. A különböző fejlesztési környezetekben szabványosnak kell lennie, ami segít gyorsan megtalálni a gyenge pontokat és optimalizálni azokat. Például gyorsítsa fel a tesztelést.

Egy példa a folyamatos kézbesítési folyamatra így néz ki:

Segítség: mi az a folyamatos kézbesítés

Ha a Continuous Integration megközelítés felelős az első két szakasz automatizálásáért, akkor a Continuous Delivery a következő kettőért. A folyamatok stabilitását többek között rendszerek biztosítják konfiguráció-menedzsment. Figyelemmel kísérik az infrastruktúra, az adatbázisok és a függőségek változásait. Maga a telepítés történhet automatizáltan vagy manuálisan is.

Az eljárással szemben a következő követelmények vonatkoznak:

  • Az éles környezetbe való belépésre és az azonnali kiadásra való készenlétre vonatkozó információk elérhetősége (a CD-eszközök tesztelik a kódot, és lehetővé teszik a kiadás változásainak hatásának értékelését).
  • Teljes felelősség a végtermékért. A termékcsapat – menedzserek, fejlesztők, tesztelők – az eredményre gondol, és nem csak a saját felelősségi körükre (az eredmény egy működő kiadás, amely elérhető a termék felhasználói számára).

A CD-kben általában ezt használják kód felülvizsgálata, és a vásárlói vélemények összegyűjtésére - az elv sötét indítás. Egy új funkciót először a felhasználók egy kis szegmensének adnak ki – a termékkel való interakció során szerzett tapasztalataik segítenek megtalálni azokat a hiányosságokat és hibákat, amelyeket a belső tesztelés során nem vettek észre.

Mi az előnye

A Continuous Delivery segít leegyszerűsíteni a kód bevezetését, ami pozitív hatással van a termelékenységre és csökkenti az alkalmazottak kiégésének valószínűségét. Ez végső soron csökkenti az általános fejlesztési költségeket. Például a CD segített az egyik HP-csapatnak csökkentése az ilyen költségek 40%-kal.

Ezenkívül egy 2016-os tanulmány szerint (28 dokumentum) - a CD-t megvalósító cégek 50%-kal gyorsabban oldják meg az információbiztonsági problémákat, mint azok, akik nem használják a megközelítést. Ez a különbség bizonyos mértékig a folyamatautomatizálási eszközök teljesítményével magyarázható.

További plusz a kiadások felgyorsítása. Folyamatos kiszállítás a finn fejlesztői stúdióban segített növelje a kód összeállítási sebességét 25%-kal.

Lehetséges nehézségek

Az első és fő probléma az ismert folyamatok újraépítése. Az új megközelítés előnyeinek megmutatása érdekében érdemes fokozatosan áttérni a CD-re, nem a legmunkaigényesebb alkalmazásokkal kezdve.

A második lehetséges probléma a kódágak nagy száma. Az „elágazás” következménye gyakori konfliktusok és további nagy időveszteség. Lehetséges megoldás - megközelítés nincsenek ágak.

Különösen egyes vállalatoknál a fő nehézségek a teszteléssel kapcsolatosak – túl sok időt vesz igénybe. A teszteredményeket gyakran manuálisan kell elemezni, de lehetséges megoldás lehet a tesztek párhuzamosítása a CD implementáció korai szakaszában.

Az alkalmazottakat arra is ki kell tanítani, hogy új eszközökkel dolgozzanak – egy előzetes oktatási program erőfeszítést és időt takarít meg a fejlesztőknek.

Segítség: mi az a folyamatos kézbesítés
/flickr/ h.ger1969 / CC BY-SA

Tools

Íme néhány nyitott eszköz a folyamatos kézbesítéshez:

  • GoCD — szerver folyamatos kézbesítéshez Java és JRuby on Rails nyelven. Lehetővé teszi az alkalmazás teljes kézbesítési folyamatának vezérlését: összeállítás – tesztelés – kiadás. Az eszközt az Apache 2.0 licenc alatt terjesztik. Megtalálható a hivatalos weboldalon beállítási útmutató.
  • Kapisztrán — keretrendszer olyan szkriptek létrehozására, amelyek automatizálják az alkalmazások telepítését Ruby, Java vagy PHP nyelven. A Capistrano képes parancsokat végrehajtani egy távoli gépen, ha SSH-n keresztül csatlakozik hozzá. Együttműködik más folyamatos integrációs és szállítási eszközökkel, például az Integrity CI szerverrel.
  • Gradle egy többplatformos eszköz, amely automatizálja a teljes alkalmazásfejlesztési ciklust. A Gradle Java, Python, C/C++, Scala stb. programokkal működik. Integrálható az Eclipse, az IntelliJ és a Jenkins.
  • zümmög - CD-platform Go nyelven. A drón a helyszínen vagy a felhőben telepíthető. Az eszköz konténerekre épül, és YAML fájlokat használ azok kezelésére.
  • Versenyvitorla – platform folyamatos kódtovábbításhoz többfelhős rendszerekben. A Netflix által fejlesztett eszköz fejlesztésében a Google mérnökei nagy szerepet játszottak. Telepítési útmutató megtalálja a hivatalos weboldalon.

Amit céges blogunkon olvashat:

Forrás: will.com

Hozzászólás