Korábban 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.
/ Pixabay / /
Történet
A "folyamatos kiadás" kifejezés már 2001-ben látható volt 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 a Folyamatos Kiadásról. A szerzők szándéka szerint a CD kiegészíti a megközelítést é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 , 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, 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:

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, 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 , és az ügyfélvisszajelzések gyűjtésére a elvet. 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 ezeket a költségeket 40%-kal.
Ezen kívül — egy 2016-os kutatás szerint (28. oldal ) — 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 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 .
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.

/ Flickr / /
Eszközök
Néhány nyílt forráskódú eszköz a Continuous Deliveryhez:
- — 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ó .
- — 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.
- — 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.
- — 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.
- — 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 .
Olvasnivaló a vállalati blogunkban:
Forrás: habr.com
