Támogatás: Mi az a Folyamatos Kiadás

Korábban meséltünk a Folyamatos Integrációról (CI). Folytassuk a Folyamatos Kiadással. Ez a szoftverfejlesztési módszerek összessége. Segít megbizonyosodni a kód készenlétéről a kiadáshoz.

Támogatás: Mi az a Folyamatos Kiadás
/ Pixabay / bluebudgie / PL

Történet

A "folyamatos kiadás" kifejezés már 2001-ben látható volt az agilis nyilatkozatban a fő elvek kezdeti listájában: "Elsőbbséget élvez az ügyfél problémáinak megoldása a folyamatosan frissülő szoftver biztosításával."

2010-ben Jez Humble és David Farley kiadták könyvet a Folyamatos Kiadásról. A szerzők szándéka szerint a CD kiegészíti a megközelítést folyamatos integrációnak és megkönnyíti a kód előkészítését a kiadásra.

A könyv megjelenése után a megközelítés népszerűségnek indult, és alig néhány év alatt gyakorlatilag általánosan elfogadottá vált. A 2014-ben több mint 600 fejlesztő és IT menedzser körében végzett felmérés szerint, amelyet a DevOps és Jenkins közösség IT szakemberei végeztek, a technikai vezetők 97%-a és a programozók 84%-a ismerte a Folyamatos Kiadást.

Ez a megközelítés most is az egyik legnépszerűbb. A 2018-as kutatás adatai szerint, amelyben több mint ezer válaszadót vontak be, használja az emberek fele ismerte.

Hogyan működik a Folyamatos Kiadás

A CD alapja a kód kiadásra való készenlét. E cél elérésére a szoftver kiadásra való előkészítési folyamatának automatizálását használják. Ez a különböző fejlesztési környezetekben szabványosnak kell lennie, ami segít gyorsabban felfedezni a gyenge pontokat és optimalizálni azokat. Például gyorsítani a tesztelést.

A Folyamatos Kiadás folyamata a következőképpen néz ki:

Támogatás: Mi az a Folyamatos Kiadás

Ha az első két szakasz automatizálásáért a Folyamatos Integráció a felelős, akkor a következő kettőért a Folyamatos Kiadás. A folyamat stabilitását többek között a konfigurációkezelő rendszerek biztosítják, melyek figyelemmel kísérik az infrastruktúrában, az adatbázisokban és a függőségekben bekövetkezett változásokat. A kiadás maga automatizálható vagy manuálisan is végrehajtható.A folyamat következő követelményeknek kell megfelelnie:

Az információknak elérhetőnek kell lenniük a production környezetbe való belépés készségével és a közvetlen kiadásra való felkészültséggel kapcsolatban (a CD-eszközök tesztelik a kódot és lehetőséget adnak a kiadás változásainak hatásának értékelésére).

  • Az információk elérhetősége a production környezetbe való kiadásra való felkészültségről és a közvetlen kiadásra való készségről (a CD-eszközök tesztelik a kódot, és lehetőséget biztosítanak a kiadásban végrehajtott változtatások hatásának értékelésére).
  • A végtermékért való általános felelősség. A termékcsapat — menedzserek, fejlesztők, tesztelők — a végeredményre fókuszál, nemcsak a saját felelősségi területükre (az eredmény egy működő verzió, amely elérhető a termék felhasználói számára).

A CD esetében általában alkalmazzák code review, és az ügyfélvisszajelzések gyűjtésére a dark launchingelvet. Az új funkciót először csak egy kisebb felhasználói szegmens számára indítják el — az ő termékkel való tapasztalataik segítenek észrevenni azokat a hibákat és hiányosságokat, amelyek belső tesztelés során elkerülték a figyelmet.

Mi a haszon

A Continuous Delivery egyszerűsíti a kód telepítését, ami pozitívan hat a termelékenységre, és csökkenti a munkatársak érzelmi kimerülésének kockázatát. Végső soron ez csökkenti a fejlesztési költségeket is. Például a CD segített az egyik HP csapatának csökkenteni ezeket a költségeket 40%-kal.

Ezen kívül — egy 2016-os kutatás szerint (28. oldal dokumentum) — az CD-t alkalmazó cégek 50%-kal gyorsabban oldják meg a biztonsági problémákat az olyanokhoz képest, akik nem alkalmazzák ezt a megközelítést. Ez a különbség részben az automatizálási eszközök hatékonyságával magyarázható.

Egy másik előny — a kiadások felgyorsítása. Egy finn fejlesztőstúdióban a folyamatos szállítás segített növelni a kód összeállítási sebességét 25%-kal.

Potenciális nehézségek

Az első és legfontosabb probléma a megszokott folyamatok átalakításának szükségessége. Az új megközelítés előnyeinek bemutatásához érdemes fokozatosan áttérni a CD-re, nem a legmunkaigényesebb alkalmazásokkal kezdve.

A második potenciális probléma — a nagy számú kódág. A "ágazás" következményeként gyakori konfliktusok lépnek fel, amelyek sok időt pazarolnak. Lehetséges megoldás a no branches.

megközelítés. Egyes cégeknél a legnagyobb nehézségek a tesztelés során merülnek fel — túl sok időt vesznek igénybe. A teszteredményeket gyakran kézzel kell elemezni, de lehetséges megoldás lehet a tesztek párhuzamos futtatása a CD bevezetésének első szakaszában.

Emellett fontos, hogy a munkatársakat oktassák az új eszközök használatára — egy előzetes képzés időt és energiát takaríthat meg a fejlesztők számára.

Támogatás: Mi az a Folyamatos Kiadás
/ Flickr / h.ger1969 / CC BY-SA

Eszközök

Néhány nyílt forráskódú eszköz a Continuous Deliveryhez:

  • GoCD — folyamatos szállítási szerver Java és JRuby on Rails számára. Lehetővé teszi az alkalmazás szállítási folyamatának teljes ellenőrzését: build—test—release. Az eszköz Apache 2.0 licenc alapján terjeszthető. Az hivatalos weboldalon található beállítási útmutató.
  • Capistrano — egy keretrendszer, amely lehetővé teszi az alkalmazások telepítésének automatizálását Ruby, Java vagy PHP nyelven. A Capistrano képes távoli gépeken parancsokat végrehajtani, SSH-n keresztül csatlakozva hozzájuk. Más folyamatos integrációs és szállítási eszközökkel is együttműködik, például az Integrity CI szerverrel.
  • Gradle — egy multiplatformos eszköz, amely az alkalmazásfejlesztés teljes ciklusát automatizálja. A Gradle Java, Python, C/C++, Scala és más nyelvekkel dolgozik. Integrálható az Eclipse, IntelliJ és Jenkins környezetekkel.
  • Drone — egy CD platform Go nyelven. A Drone telepíthető helyben vagy a felhőben. Az eszköz konténerekre épül, és YAML fájlokat használ az irányításukhoz.
  • Spinnaker — egy platform a kód folyamatos szállításához többfelhős rendszerekben. A Netflix fejlesztette, a Google mérnökeinek jelentős szerepe volt az eszköz fejlesztésében. A telepítési útmutatót az hivatalos weboldalon találja.

Olvasnivaló a vállalati blogunkban:

Forrás: habr.com

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster