CI/CD pro aplikace MicroProfile s využitím Azure Pipelines

V tomto kurzu se dozvíte, jak snadno nastavit cyklus vydání CI/CD (kontinuální integrace a průběžné nasazování) Azure Pipelines pro nasazení aplikace MicroProfile Java EE do Azure Web App for Containers. V aplikaci MicroProfile v tomto kurzu se k vytvoření souboru WAR používá základní image Payara Micro.

FROM payara/micro:5.182
COPY target/*.war $DEPLOY_DIR/ROOT.war
EXPOSE 8080

Proces kontejnerizace Azure Pipelines zahájíte vytvořením image Dockeru a odesláním image kontejneru do služby Azure Container Registry (ACR). Proces dokončíte vytvořením kanálu verze Azure Pipelines a nasazením image kontejneru do webové aplikace.

Požadavky

  1. Na webu Azure Portal vytvořte službu Azure Container Registry.

  2. Na webu Azure Portal vytvořte Azure Web App for Containers. Jako Operační systém vyberte Linux a v části Konfigurace kontejneru jako Zdroj image vyberte Rychlý start.

  3. Zkopírujte a uložte adresu URL klonování z úložiště GitHub s ukázkami na adrese https://github.com/Azure-Samples/microprofile-hello-azure.

  4. Zaregistrujte svou organizaci v Azure DevOps nebo se přihlaste a vytvořte nový projekt.

  5. Importujte úložiště GitHub s ukázkami do Azure Repos:

    1. Na stránce vašeho projektu Azure DevOps na levém navigačním panelu vyberte Repos.
    2. V části nebo importujte úložiště vyberte Importovat.
    3. V části Adresa URL klonování zadejte uloženou adresu URL klonování Git a vyberte Importovat.

Vytvoření kanálu buildu

Kanál buildu kontinuální integrace v Azure Pipelines automaticky provádí všechny úlohy sestavení vždy, když dojde k potvrzení ve zdrojové aplikaci Java EE. V tomto příkladu Azure Pipelines s využitím Mavenu sestaví projekt Java MicroProfile.

  1. Na stránce vašeho projektu Azure DevOps na levém navigačním panelu vyberte Pipelines>Sestavení.

  2. Vyberte Nový kanál.

  3. Vyberte Použít klasický editor k vytvoření kanálu bez YAML.

  4. Ujistěte se, že se v odpovídajících polích zobrazí název vašeho projektu a importované úložiště GitHub, a vyberte Pokračovat.

  5. V seznamu šablon vyberte Maven a pak vyberte Použít.

  6. V pravém podokně se ujistěte, že se v rozevíracím seznamu Fond agentů zobrazí možnost Hostovaný systém Ubuntu 1604.

    Poznámka:

    Díky tomuto nastavení Azure Pipelines ví, který buildovací server má použít. Můžete použít také svůj vlastní privátní buildovací server.

  7. Pokud chcete kanál nakonfigurovat pro kontinuální integraci, v levém podokně vyberte kartu Triggery a pak zaškrtněte políčko vedle možnosti Povolit kontinuální integraci.

  8. V horní části stránky vyberte rozevírací seznam vedle možnosti Uložit a zařadit do fronty a vyberte Uložit.

    Povolení kontinuální integrace

Vytvoření image sestavení Dockeru

Azure Pipelines k vytvoření image Dockeru používá soubor Dockerfile a základní image od Payara Micro.

  1. Vyberte kartu Úlohy a přidejte úlohu výběrem znaménka plus (+) vedle možnosti Úloha agenta 1.

    Přidání nové úlohy

  2. V pravém podokně vyberte v seznamu šablon Docker a pak vyberte Přidat.

  3. V levém podokně vyberte buildAndPush a v pravém podokně zadejte popis do pole Zobrazovaný název.

  4. V části Úložiště kontejneru vyberte Nový vedle pole Container Registry.

  5. Následujícím způsobem vyplňte dialogové okno Přidání připojení ke službě registru Dockeru:

    Pole Hodnota
    Typ registru Vyberte Azure Container Registry.
    Název připojení Zadejte název připojení.
    Předplatné Azure V rozevíracím seznamu vyberte své předplatné Azure a v případě potřeby vyberte Autorizovat.
    Azure Container Registry V rozevíracím seznamu vyberte název vaší služby Azure Container Registry.
  6. Vyberte OK.

    Přidání připojení ke službě registru Dockeru

    Poznámka:

    Pokud používáte Docker Hub nebo jiný registr, vedle možnosti Typ registru místo Azure Container Registry vyberte Docker Hub nebo Jiný. Pak zadejte přihlašovací údaje a informace o připojení k vašemu registru kontejneru.

  7. V části Příkazy v rozevíracím seznamu Příkaz vyberte sestavit.

  8. Vyberte tři tečky (...) vedle pole Dockerfile, vyhledejte a vyberte soubor Dockerfile z vašeho úložiště GitHub a pak vyberte OK.

    Výběr souboru Dockerfile

  9. V části Značky na nový řádek zadejte latest.

  10. V horní části stránky vyberte rozevírací seznam vedle možnosti Uložit a zařadit do fronty a vyberte Uložit.

Odeslání image Dockeru do ACR

Azure Pipelines odešle image Dockeru do vaší služby Azure Container Registry a použije ji ke spuštění aplikace MicroProfile API jako kontejnerizované webové aplikace Java.

  1. Vzhledem k tomu, že v Azure Pipelines používáte Docker, zopakujte postup v části Vytvoření image sestavení Dockeru a vytvořte další šablonu Dockeru. Tentokrát v rozevíracím seznamu Příkaz vyberte odeslat.

  2. Vyberte rozevírací seznam vedle možnosti Uložit a zařadit do fronty a vyberte Uložit a zařadit do fronty.

  3. V automaticky otevíraném okně Spustit kanál se ujistěte, že je v části Fond agentů vybraná možnost Hostovaný systém Ubuntu 1604, a vyberte Uložit a spustit.

  4. Po dokončení sestavení můžete ověřit úspěch sestavení a zobrazit další podrobnosti výběrem odkazu na stránce Sestavení.

    Výběr odkazu na sestavení

Vytvoření kanálu verze

Okamžitě po úspěšném sestavení nepřetržitý kanál verze Azure Pipelines automaticky aktivuje nasazení do cílového prostředí, jako je Azure. Kanály verzí můžete vytvářet například pro vývojová, testovací, přípravná nebo produkční prostředí.

  1. Na stránce vašeho projektu Azure DevOps na levém navigačním panelu vyberte Pipelines>Vydané verze.

  2. Vyberte Nový kanál.

  3. V seznamu šablon vyberte Nasazení aplikace v Javě do Azure App Service a pak vyberte Použít.

    Výběr šablony Nasazení aplikace v Javě do Azure App Service

  4. V automaticky otevíraném okně změňte hodnotu Fáze 1 na název fáze, například Vývojová, Testovací, Přípravná nebo Produkční, a pak okno zavřete.

  5. V levém podokně v části Artefakty vyberte Přidat a propojte artefakty z kanálu buildu s kanálem verze.

  6. V pravém podokně v rozevíracím seznamu Zdroj (kanál buildu) vyberte svůj kanál buildu a pak vyberte Přidat.

    Přidání artefaktu buildu

  7. V Produkční fázi vyberte odkaz Zobrazit úlohy fáze.

    Výběr názvu fáze

  8. Následujícím způsobem vyplňte formulář v pravém podokně:

    Pole Hodnota
    Předplatné Azure V rozevíracím seznamu vyberte své předplatné Azure.
    Typ aplikace V rozevíracím seznamu vyberte Web App for Containers (Linux).
    Název služby App Service V rozevíracím seznamu vyberte svou instanci ACR.
    Registr nebo obory názvů Zadejte do pole název vaší služby ACR. Zadejte například mymicroprofileregistry.azure.io.
    Úložiště Zadejte úložiště obsahující vaši image Dockeru.

    Konfigurace úloh fáze

  9. V levém podokně vyberte Nasazení souboru WAR do Azure App Service a v pravém podokně do pole Značka zadejte značku latest.

  10. V levém podokně vyberte Spustit v agentovi a v pravém podokně v rozevíracím seznamu Fond agentů vyberte Hostovaný systém Ubuntu 1604.

Nastavení proměnných prostředí

Přidejte a definujte proměnné prostředí pro připojení k registru kontejneru během nasazení.

  1. Vyberte kartu Proměnné, pak Přidat a přidejte následující proměnné pro adresu URL, uživatelské jméno a heslo pro váš registr kontejneru.

    Jméno Hodnota
    registry.url Zadejte adresu URL vašeho registru kontejneru. Příklad: https://mymicroprofileregistry.azure.io
    registry.username Zadejte uživatelské jméno pro registr.
    registry.password Zadejte heslo pro registr. Kvůli zabezpečení vyberte ikonu zámku, aby hodnota hesla zůstala skrytá.

    Přidání proměnných

  2. Na kartě Úlohy v levém podokně vyberte Nasazení souboru WAR do Azure App Service.

  3. V pravém podokně rozbalte Nastavení aplikace a konfigurace a vyberte tři tečky (...) vedle pole Nastavení aplikace.

  4. V automaticky otevíraném okně Nastavení aplikace vyberte Přidat a definujte a přiřaďte proměnné nastavení aplikace:

    Jméno Hodnota
    DOCKER_REGISTRY_SERVER_URL $(registry.url)
    DOCKER_REGISTRY_SERVER_USERNAME $(registry.username)
    DOCKER_REGISTRY_SERVER_PASSWORD $(registry.password)
  5. Vyberte OK.

    Přidání a nastavení proměnných

Nastavení průběžného nasazování

Pokud chcete povolit průběžné nasazování, postupujte následovně:

  1. Na kartě Kanál v části Artefakty vyberte ikonu blesku v artefaktu buildu.

  2. V pravém podokně povolte Trigger průběžného nasazování.

  3. V pravém horním rohu vyberte Uložit a pak znovu vyberte Uložit.

    Povolení triggeru průběžného nasazování

Nasazení aplikace v Javě

Teď, když jste povolili CI/CD, se při úpravách zdrojového kódu budou automaticky vytvářet a spouštět sestavení a verze. Verze můžete vytvářet a spouštět také ručně, a to následujícím způsobem:

  1. V pravém horním rohu stránky kanálu verze vyberte Vytvořit verzi.

  2. Na stránce Vytvořit novou verzi v části Fáze pro změnu aktivace z automatické na ruční vyberte název fáze.

  3. Vyberte Vytvořit.

  4. Vyberte název verze, najeďte myší na fázi nebo ji vyberte a pak vyberte Nasadit.

Test webové aplikace v Javě

Po úspěšném dokončení nasazení svou webovou aplikaci otestujte.

  1. Zkopírujte adresu URL webové aplikace z webu Azure Portal.

    Aplikace App Service na webu Azure Portal

  2. Zadejte tuto adresu URL do webového prohlížeče a spusťte aplikaci. Na webové stránce by se měl zobrazit text Hello Azure!

    Stránka webové aplikace v Javě