CI/CD MicroProfile-alkalmazásokhoz az Azure Pipelines használatával
Ez az oktatóanyag bemutatja, hogyan állíthat be egy Azure Pipelines folyamatos integrációs és folyamatos üzembe helyezési (CI/CD) kiadási ciklust saját MicroProfile Java EE-alkalmazásának üzembe helyezéséhez egy Azure Web App for Containers-példányon. Az oktatóanyagban szereplő MicroProfile-alkalmazás egy Payara Micro rendszerképet használ alapul a WAR-fájl létrehozásához.
FROM payara/micro:5.182
COPY target/*.war $DEPLOY_DIR/ROOT.war
EXPOSE 8080
Az Azure Pipelines tárolóba helyezési folyamata egy Docker-rendszerkép összeállításával kezdődik, amelyet aztán leküldéssel továbbít az Azure Container Registrybe (ACR). A folyamat lezárásaként létrehoz egy Azure Pipelines kiadási folyamatot, és üzembe helyezi a tárolórendszerképet a webalkalmazásban.
Előfeltételek
Az Azure Portalon hozzon létre egy Azure Container Registry-adatbázist.
Az Azure Portalon hozzon létre egy Azure Web App for Containers-példányt. Az Operációs rendszer legyen Linux, a Tároló konfigurálása elemnél pedig a Lemezkép forrása legyen Gyorsútmutató.
Másolja és mentse a klón URL-címet a mintául szolgáló GitHub-adattárból (ennek pontos helye: https://github.com/Azure-Samples/microprofile-hello-azure).
Regisztráljon vagy jelentkezzen be az Azure DevOps-szervezetbe, és hozzon létre egy új projektet.
Importálja a mintául szolgáló GitHub-adattárat az Azure Reposba:
- Az Azure DevOps-projekt oldalán válassza a Repos lehetőséget a bal oldali navigációs panelen.
- Az adattár importálására szolgáló pontban válassza az Import (Importálás) lehetőséget.
- A Clone URL (Klón URL-címe) pontban adja meg a korábban mentett Git-klón URL-címet, majd válassza az Import lehetőséget.
Buildelési folyamat létrehozása
Az Azure Pipelines folyamatos integrációs buildelési folyamata minden alkalommal automatikusan végrehajtja az összes buildfeladatot, amikor a Java EE-forrásalkalmazásban véglegesítés történik. Ebben a példában az Azure Pipelines a Maven használatával hozza létre a Java MicroProfile-projektet.
Az Azure DevOps-projekt oldalán válassza a Pipelines (Folyamatok)>Builds (Buildek) lehetőséget a bal oldali navigációs panelen.
Válassza a New pipeline (Új folyamat) lehetőséget.
Válassza a Use the classic editor to create a pipeline without YAML (Klasszikus szerkesztő használata a folyamat YAML nélküli létrehozásához) elemet.
Ellenőrizze, hogy a projekt neve és az importált GitHub-adattár megjelent-e a megfelelő mezőkben, majd válassza a Continue (Folytatás) lehetőséget.
Válassza a Maven lehetőséget a sablonlistából, majd válassza az Apply (Alkalmaz) gombot.
Győződjön meg arról, hogy a jobb oldali panel Agent pool (Ügynökkészlet) legördülő menüjében megjelent a Hosted Ubuntu 1604 elem.
Megjegyzés:
Ez a beállítás tudatja az Azure Pipelines szolgáltatással, hogy melyik buildelési kiszolgálót kell használni. Privát, testreszabott buildelési kiszolgálót is használhat.
A folyamat folyamatos integrációhoz való konfigurálásához a bal oldali panelen válassza a Triggers (Triggerek) lehetőséget, majd jelölje be az Enable continuous integration (Folyamatos integráció engedélyezése) melletti jelölőnégyzetet.
Az oldal alján nyissa meg a Save & queue (Mentés és üzenetsorba helyezés) elem melletti legördülő menüt, és válassza a Save (Mentés) lehetőséget.
Docker-létrehozási rendszerkép létrehozása
Az Azure Pipelines egy Docker-fájl használatával, a Payara Micróból származó rendszerképet alapul véve hoz létre Docker-rendszerképeket.
Kattintson a Tasks (Feladatok) fülre, majd válassza az Agent Job 1 (Ügynökfeladat 1) elem melletti plusz jelet + a feladat hozzáadásához.
Válassza a Docker lehetőséget a sablonlistából, majd válassza az Add (Hozzáadás) lehetőséget.
A bal oldali panelen válassza a buildAndPush elemet, majd a jobb oldali panelen adjon meg egy leírást a Display name (Megjelenítendő név) mezőben.
A Container Repository (Tárolóadattár) pontban válassza a Container Registry mező melletti New (Új) lehetőséget.
Töltse ki az Add a Docker Registry service connection (Docker Registry-szolgáltatáskapcsolat hozzáadása) párbeszédpanel mezőit a következőképpen:
Mező Value Registry type (Regisztrációs adatbázis típusa) Válassza az Azure Container Registry lehetőséget. Kapcsolat neve Adja meg a kapcsolat nevét. Azure subscription Válassza ki Azure-előfizetését a legördülő menüből, és ha szükséges, válassza az Authorize (Engedélyezés) lehetőséget. Azure Container Registry Válassza ki Azure Container Registry-adatbázis nevét a legördülő menüből. Kattintson az OK gombra.
Megjegyzés:
Ha Docker Hubot vagy valamilyen más regisztrációs adatbázist használ, válassza a Docker Hub vagy az Others (Egyéb) lehetőséget az Azure Container Registry helyett, amikor meg kell adni a regisztrációs adatbázis típusát. Ezután adja meg a regisztrációs adatbázis hitelesítő és kapcsolati adatait.
A Commands (Parancsok) pontban a Command (Parancs) legördülő menüből válassza a build lehetőséget.
Kattintson a három pontra ... a Dockerfile mező mellett, keresse meg és válassza ki a Docker-fájlt a GitHub-adattárból, végül válassza az OK gombot.
A Tags (Címkék) pontban adja meg a latest (legújabb) kifejezést egy új sorban.
Az oldal alján nyissa meg a Save & queue (Mentés és üzenetsorba helyezés) elem melletti legördülő menüt, és válassza a Save (Mentés) lehetőséget.
Docker-rendszerkép leküldése az ACR-be
Az Azure Pipelines leküldi a Docker-rendszerképet az Azure Container Registrybe, és azt használva futtatja a MicroProfile API-alkalmazást tárolóalapú Java-webalkalmazásként.
Mivel az Azure Pipelinesban használja a Dockert, hozzon létre egy újabb Docker-sablont. Ehhez újra menjen végig a Docker-létrehozási rendszerkép létrehozása szakasz lépésein. Ezúttal válassza a push (leküldés) lehetőséget a Command (Parancs) legördülő menüből.
Nyissa meg a Save & queue (Mentés és üzenetsorba helyezés) elem melletti legördülő menüt, és válassza a Save & queue lehetőséget.
A Run pipeline (Folyamat futtatása) felugró ablakban győződjön meg arról, hogy az Agent pool (Ügynökkészlet) pontban a Hosted Ubuntu 1604 elem van kiválasztva, majd válassza a Save and run (Mentés és futtatás) lehetőséget.
Miután a buildelés befejeződött, a Build oldalon található hivatkozás kiválasztásával ellenőrizheti, hogy sikeres volt-e a buildelési folyamat, és áttekintheti a további részleteket.
Kiadási folyamat létrehozása
Az Azure Pipelines folyamatos kiadási folyamata automatikusan elindítja az üzembe helyezést a célkörnyezetben (például az Azure-ban), amint a buildelés sikeresen véget ért. Kiadási folyamatokat fejlesztési, tesztelési, előkészítési és éles környezetekhez is létrehozhat.
Az Azure DevOps-projekt oldalán válassza a Pipelines (Folyamatok)>Releases (Kiadások) lehetőséget a bal oldali navigációs panelen.
Válassza a New pipeline (Új folyamat) lehetőséget.
Válassza a Deploy a Java app to Azure App Service (Java-alkalmazás üzembe helyezése az Azure App Service-ben) lehetőséget a sablonlistából, majd válassza az Apply (Alkalmaz) gombot.
A felugró ablakban módosítsa a Stage 1 (1. fázis) nevét a megfelelő fáziséra – Dev (Fejlesztés), Test (Tesztelés), Staging (Előkészítés) vagy Production (Éles) –, majd zárja be az ablakot.
A bal oldali panel Artifacts (Összetevők) területén válassza az Add (Hozzáadás) lehetőséget a buildelési folyamat összetevői és a kiadási folyamat összekapcsolásához.
A jobb oldali panelen válassza ki a saját buildelési folyamatát a Source (build pipeline) (Forrás (buildelési folyamat)) legördülő menüből, majd válassza az Add (Hozzáadás) lehetőséget.
A Production (Éles) fázisban található hivatkozáson keresztül megtekintheti a fázishoz tartozó feladatokat.
A jobb oldali panelen töltse ki az űrlapot az alábbi módon:
Mező Value Azure subscription Válassza ki Azure-előfizetését a legördülő menüből. Alkalmazás típusa Válassza a Web App for Containers (Linux) lehetőséget a legördülő menüből. App service name (Az App Service neve) Válassza ki a saját ACR-példányát a legördülő menüből. Registry or Namespaces (Regisztrációs adatbázis vagy névterek) Írja be ACR-nevét a mezőbe. Egy példa: mymicroprofileregistry.azure.io. Adattár Adja meg a Docker-rendszerképet tartalmazó adattár nevét. A bal oldali panelen jelölje ki a Deploy War to Azure App Service (WAR üzembe helyezése az Azure App Service-ben) csomagot, majd a jobb oldali panelen írja be a latest (legújabb) címkét a Tag (Címke) mezőbe.
A bal oldali panelen válassza a Run on agent (Futtatás az ügynökön) lehetőséget, majd a jobb oldali panel Agent pool (Ügynökkészlet) legördülő menüjében válassza a Hosted Ubuntu 1604 elemet.
Környezeti változók beállítása
Adjon meg és definiáljon környezeti változókat, amelyeket a tárolóregisztrációs adatbázishoz fog csatlakoztatni az üzembe helyezés során.
Kattintson a Variables (Változók) fülre, majd válassza az Add (Hozzáadás) lehetőséget, hogy megadhassa a következő változókat a tárolóregisztrációs adatbázis URL-címeként, felhasználóneveként és jelszavaként.
Név Érték registry.url Adja meg a tárolóregisztrációs adatbázis URL-címét. For example: https://mymicroprofileregistry.azure.io registry.username Adja meg a tárolóregisztrációs adatbázis felhasználónevét. registry.password Adja meg a tárolóregisztrációs adatbázis jelszavát. Biztonsági okokból érdemes lehet kiválasztani a lakat ikont, hogy a jelszó rejtve maradjon. A Tasks (Feladatok) lapon válassza a bal oldali panelen található Deploy War to Azure App Service (WAR üzembe helyezése az Azure App Service-ben) lehetőséget.
A jobb oldali panelen bontsa ki az Application and Configuration Settings (Alkalmazás- és konfigurációs beállítások) pontot, majd kattintson a három pontra ... az App Settings (Alkalmazásbeállítások) mező mellett.
Az App settings (Alkalmazásbeállítások) felugró ablakban válassza az Add (Hozzáadás) lehetőséget az alkalmazásbeállítások változóinak definiálásához és hozzárendeléséhez:
Név Érték DOCKER_REGISTRY_SERVER_URL $(registry.url) DOCKER_REGISTRY_SERVER_USERNAME $(registry.username) DOCKER_REGISTRY_SERVER_PASSWORD $(registry.password) Kattintson az OK gombra.
Folyamatos üzembe helyezés beállítása
Folyamatos üzembe helyezés engedélyezése:
A Pipeline (Folyamat) lap Artifacts (Összetevők) területén válassza ki a villám ikont a buildösszetevőben.
A jobb oldali panelen állítsa a Continuous deployment trigger (Folyamatos üzembehelyezési trigger) elemet az Enabled (Engedélyezve) értékre.
Válassza a Save (Mentés) lehetőséget a jobb felső sarokban, majd válassza ismét a Save (Mentés) elemet.
A Java-alkalmazás üzembe helyezése
Most, hogy engedélyezte a CI/CD-t, a forráskód módosításával automatikusan létrehozhat és futtathat buildeket és kiadásokat. Manuálisan is létrehozhat és futtathat kiadásokat, a következő módon:
A kiadási folyamat lapjának jobb felső sarkában válassza a Create release (Kiadás létrehozása) lehetőséget.
A Create a new release (Új kiadás létrehozása) oldalon válassza ki a fázis nevét a Stages for a trigger change from automated to manual (Trigger automatikusról manuálisra módosításának a fázisai) elemnél.
Select Create.
Válassza ki a kiadás nevét, mutasson az egérmutatóval a fázisra vagy jelölje ki, majd válassza a Deploy (Üzembe helyezés) lehetőséget.
A Java-webalkalmazás tesztelése
A sikeres üzembe helyezés után tesztelje a webalkalmazást.
Másolja át a webalkalmazás URL-címét az Azure Portalról.
Az alkalmazás futtatásához adja meg az URL-címet a böngészőben. A webhelyen a Hello Azure! üzenetnek kell megjelennie.
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: