Már egy ideje fontos szempont, hogy minden szolgáltatást az Azure szolgáltatásain keresztül – egyéb külső infrastruktúra nélkül – tudjunk használni. Napokban szembejött a kérdés, hogy miképp lehetne a vastag kliens alkalmazás Click Once telepítőjét is a lehető legegyszerűbben és költséghatékonyan publikálni.
Sajnos a Visual Studio 2017-ben sincs erre jó megoldás, így kicsit gondolkodni és keresni is kellett, majd a kapott információk alapján az egészet a jelenlegi szolgáltatásokhoz igazítani. Lássuk mi is a megoldás…
Megoldás ismertetése
Bár kézenfekvő lenne, hogy a publikációt egy webapp-n keresztül publikáljuk, mégis költséghatékonysági okokból a publikációt egy nyilvánosan is elérhető blob storage konténerből fogjuk végezni. E konténereket az Azure-ban a webes https protokolon lehet elérni, csak megfelelően kell a hozzáféréseket beállítani.
E pillanattól kezdve költségünk mindössze két elemből fog állni, egyik részben a konténer méretére számított költség, másik részben a kimenő hálózati forgalomtól függő költség. Tekintve, hogy mindkettő eléggé filléres költség az Azure-ban, ezért e megoldás alkalmazása eléggé filléres üzemeltetési kiadásokat jelent számunkra, minden más megoldási lehetőséggel szemben.
1. lépés Blob konténer létrehozása
Az első lépés, hogy Azure alatt kialakítsuk a megoldásban résztvevő blob konténert:
- Jelentkezzünk be az Azure előfizetésünk-höz
- Hozzuk létre a számunkra szükséges Storage konténert
- Hozzuk létre a számunkra szükséges Blob konténert
- Állítsuk be a blob konténer jogosultsági szintjét
Jómagam ezen lépést már a Microsoft Azure Storage Explorer-t használom elsődlegesen (a későbbiekben majd láthatjuk, hogy ezzel a fájlok mozgatását is el tudjuk végezni).
- Jegyezzük fel a blob konténer URL címét, ami https://<storagekonténerneve>.blob.core.windows.net/<blobkonténerneve> lesz. A későbbiekben erre rendre szükségünk lesz
Ezzel a tároláshoz, publikáláshoz szükséges konténert előállítottuk, az munkavégzésre már alkalmas.
2. lépés Click Once csomag beállítása
A következő lépés, hogy az alkalmazásunkhoz összeállítsuk az alkalmazásunkhoz a Click Once telepítőcsomagot, amihez a Visual Studio-t kell használjuk:
- Töltsük be a számunkra szükséges Solution-t
- Navigáljunk az érintett alkalmazáshoz és vegyük elő a projekt beállításait (Properties)
- Navigáljunk a Publish fülre
- Adjuk meg a létrehozandó csomag helyi tároló könyvtárát (a csomag ide kerül létrehozásra), és adjuk meg a blob storage konténer URL címét.
- A továbbiakban célszerű ellenőrizni a létrehozásra kerül csomag beállításait, úgy mint Application files…, Prerequisites…, Updates… ezekkel most nem foglalkozunk. Ajánlott viszont az alkalmazás Options… részén kicsit körülnézni, és beállítani, a majdan a weboldalon megjelenő szövegeket és a létrehozandó oldal nevét.
- A beállításokat ezt követően mentsük el (és természetesen a Solution-t is)
3. lépés Csomag helyi gépen történő előállítása
Az előző lépéseket csak egyszer kell elvégezni, de a telepítőcsomag előállítását természetesen már annyiszor csináljuk végig, ahányszor arra szükségünk van:
- Töltsük be a számunkra szükséges Solution-t
- Navigáljunk az érintett alkalmazáshoz és vegyük elő a projekt beállításait (Properties)
- Navigáljunk a Publish fülre
- Nyomjuk meg a Publish Wizard… vagy a Publish Now gombok egyikét. Az első esetben a beállításokat még áttekinthetjük (illetve módosíthatjuk), míg a másik esetben a csomag előállítását a rendszer azonnal megkezdi.
- A munka végeredménye egy az általunk megadott útvonalon létrehozott telepítőanyag
E ponttól kezdve a telepítőcsomagot bárhová odamásolva, kézzel is elindíthatjuk, de ne feledjük, a telepítőcsomag mindig ellenőrzi, hogy az általunk megadott URL-n van-e a most használatostól újabb verzió.
4. lépés Csomag publikálása az Azure Blob konténerbe
Ez a lépés most csak kézi megoldással kerül bemutatásra, de természetesen számtalan módon automatizálhatjuk, a felhasználás függvényében. A feladat minden esetben ugyan az, a lokális könyvtár tartalmát fel kell másolnunk az Azure Blob konténerbe:
- Nyissuk meg a Microsoft Azure Storage Explorer-t és navigáljunk a számunkra szükséges blob konténerhez
- Válasszuk ki a konténerhez tartozó területen az Upload files… funkciót
- A megjelenő ablakban adjuk meg a feltölteni kívánt fájlokat és indítsuk el a folyamatot
- A munka végeztével a számunkra szükséges fájlok és könyvtárak az Azure-ba feltöltésre kerülnek
5. lépés tesztelés
Most már nincs más dolgunk, mint az egész telepítési processz ellenőrzése. Ehhez az általunk használt böngészőbe (ehhez ajánlott az IE) írjuk be a blob konténer url-t egészítsük ki a létrehozott weboldal nevével és nézzük meg az eredményt.
Az URL tehát valami ilyesmi lesz: https://n.blob.core.windows.net/testinstall/setup.html
További ötletekhez források:
http://www.codewrecks.com/blog/index.php/2013/04/20/deploy-click-once-application-on-azure-blob-container-with-tfs-build/
https://blogs.msdn.microsoft.com/avkashchauhan/2011/05/09/how-to-deploy-clickonce-application-using-windows-azure-storage-in-very-simple-steps/