NetAcademia

A legjobbakat tanítjuk!

Hogy kerülhetjük el a "szoftverpusztulást"? 12Factor app: 5. Előállítás, telepítés, futtatás

2016. június 24. 08:00 - Plesz Gábor

Előző fejezet: 4. Háttérszolgáltatások

Következő fejezet: 6. Folyamatok

Egyértelműen válasszuk külön a forráskód futtathatóvá alakítását (BUILD), telepítését (RELEASE) és telepített alkalmazásunk futtatását (RUN).

A kódbázis három szakaszban formálódik át telepített alkalmazássá:

  • Az előállítási (BUILD) szakasz az a transzformáció, amikor a forráskód átalakul futtatható alkalmazássá. A forráskódnak vesszük azt a változatát, amit a fejlesztési eljárás elhelyezett a kódtárban, hozzávesszük a különbözó függőségeket és elkészítjük futtatható alkalmazást valamint a szükséges hozzávalókat (képek, egyéb bináris állományok, stb.).
  • A telepítési (RELEASE) szakaszban vesszük a BUILD szakaszban előállított futtatható alkalmazást, és kombináljuk az aktuális telepítési konfigurációkkal. Az eredményül kapott kiadás (RELEASE) tartalmazza a futtatható állományokat plusz a megfelelő konfigurációt, és azonnal alkalmas arra, hogy a futtatókörnyezetben futtassuk.
  • A végrehajtási (RUN) szakaszban (nevezhetjük "runtime"-nak is) a megfelelő kiadást használva folyamatokat elindítva futtatjuk az alkalmazást a végrehajtási környezetben

Code becomes a build, which is combined with config to create a release.

A 12 tényezős alkalmazásfejlesztés élesen elkülöníti tehát az előállítási, telepítési és végrehajtási szakaszokat. Például kizárja, hogy valaki a végrehajtásban lévő kódon változtasson, mert aztán lehetetlen ezeket a változtatásokat a fordítási szakaszba visszaküldeni.

Általában a telepítési segédeszközök kínálnak kiadási verziókat kezelő eszközöket is, legalábbis lehetőséget adnak arra, hogy egy telepített változatról visszaálljunk egy korábban telepítettre. Például a Capistrano a kiadási változatokat a releases, nevű alkönmyvtárban tárolja, ahol az éppen aktuális változat egy szimbolikus link a megfelelő könyvtárra. Arollback parancs így egyszerűen vissza tud állni az előző kiadási változatra.

Minden kiadási változatnak egyedi azonosítóval (ID) kell rendelkeznie, mint például a készítésének időpontja (tehát  2011-04-06-20:32:17) vagy egy folyamatosan növekvő sorszám (mint a v100).

A kiadási változatok összesége tulajdonképpen egy folyamatosan bővülő főkönyv. A kiadási változatok létrejöttük után már nem változhatnak. Bármilyen változáshoz új kiadást (Release) kell készíteni.

A fordítási szakaszt az alkalmazás fejlesztői kezdeményezik, amikor új kódot tárolnak be a kódtárba. A végrehajtás pont fordítva: automatikus indítható, ha a szerver újraindul vagy az összeomlott folyamatatot a folyamatkezelő újraindította. Ezért aztán a végrehajtásnak olyan kevés elemből kell állnia, amennyire csak lehetséges, hiszen az éjszaka közepén kialakuló probléma esetén a fejlesztők nem állnak mindig rendelkezésre. A fordítási folyamat már lehet összetett, mivel a hiba visszaszáll a fejlesztőre, aki az adott változatért felel.

The Twelve-Factor App: V. Build, release, run

Szólj hozzá!

A bejegyzés trackback címe:

https://netacademia.blog.hu/api/trackback/id/tr768760948

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.