Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Důležité
Zatímco mnoho služeb Azure má plug-iny pro Jenkins, většina z nich ukončí podporu k 29. únoru 2024. Azure CLI je aktuálně doporučený způsob integrace Jenkinse se službami Azure. Další informace najdete v článku Moduly plug-in Jenkins pro Azure.
K nasazení webové aplikace v Javě do Azure můžete použít Azure CLI v kanálu Jenkinse. V tomto kurzu provedete následující úlohy:
- Vytvoření virtuálního počítače Jenkinse
- Konfigurace Jenkinse
- Vytvořte webovou aplikaci v Azure
- Příprava úložiště GitHub
- Vytvořit Jenkins pipeline
- Spusťte kanál a ověřte webovou aplikaci
Požadavky
- Předplatné Azure: Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet před tím, než začnete.
- Jenkins - Instalace Jenkinse na virtuální počítač s Linuxem
- Azure CLI: Nainstalujte Azure CLI (verze 2.0.67 nebo vyšší) na server Jenkinse.
Konfigurace Jenkinse
Následující kroky ukazují, jak nainstalovat požadované sady Java JDK a Maven do kontroleru Jenkinse:
Přihlaste se k kontroleru Jenkinse pomocí SSH.
Stáhněte a nainstalujte build Azul Zulu OpenJDK pro Azure z úložiště apt-get:
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 0xB1998361219BD9C9 sudo apt-add-repository "deb http://repos.azul.com/azure-only/zulu/apt stable main" sudo apt-get -q update sudo apt-get -y install zulu-8-azure-jdkSpuštěním následujícího příkazu nainstalujte Maven:
sudo apt-get install -y maven
Přidání instančního objektu Azure do přihlašovacích údajů Jenkinse
Následující kroky ukazují, jak zadat přihlašovací údaje Azure:
Ujistěte se, že je nainstalován plugin Přihlašovací údaje.
Na řídicím panelu Jenkinse vyberte Credentials -> System ->.
Vyberte globální přihlašovací údaje (neomezené).
Vyberte Přidat přihlašovací údaje pro přidání služebního účtu Microsoft Azure. Ujistěte se, že je druh přihlašovacích údajů uživatelské jméno s heslem , a zadejte následující položky:
-
Uživatelské jméno: Principál služby
appId -
Heslo: Instanční objekt
password -
ID: Identifikátor přihlašovacích údajů (například
AzureServicePrincipal)
-
Uživatelské jméno: Principál služby
Vytvoření služby Azure App Service pro nasazení webové aplikace v Javě
Pomocí příkazu az appservice plan create vytvořte plán služby Azure App Service s cenovou úrovní FREE :
az appservice plan create \
--name <app_service_plan> \
--resource-group <resource_group> \
--sku FREE
Klíčové body:
- Plán služby AppService definuje fyzické prostředky používané k hostování aplikací.
- Tyto prostředky sdílí všechny aplikace přiřazené k plánu služby AppService.
- Plány služby AppService umožňují ušetřit náklady při hostování více aplikací.
Vytvoření webové aplikace Azure
Pomocí příkazu az webapp create vytvořte definici webové aplikace v myAppServicePlan plánu služby App Service.
az webapp create \
--name <app_name> \
--resource-group <resource_group> \
--plan <app_service_plan>
Klíčové body:
- Definice webové aplikace poskytuje adresu URL pro přístup k aplikaci a konfiguruje několik možností pro nasazení kódu do Azure.
-
<app_name>Zástupný text nahraďte jedinečným názvem aplikace. - Název aplikace je součástí výchozího názvu domény pro webovou aplikaci. Proto musí být název jedinečný pro všechny aplikace v Azure.
- Položku vlastního názvu domény můžete namapovat na webovou aplikaci předtím, než ji zpřístupníte uživatelům.
Konfigurace Javy
Pomocí příkazu az appservice web config update nastavte konfiguraci modulu runtime Java pro aplikaci:
az webapp config set \
--name <app_name> \
--resource-group <resource_group> \
--java-version 1.8 \
--java-container Tomcat \
--java-container-version 8.0
Příprava úložiště GitHub
Otevřete jednoduchou webovou aplikaci Java pro úložiště Azure .
Vyberte tlačítko Fork a rozvětvte úložiště do vlastního účtu GitHubu.
Kliknutím na název souboru otevřete soubor Jenkinsfile .
Výběrem ikony tužky upravte soubor.
Aktualizujte ID předplatného a ID tenanta.
withEnv(['AZURE_SUBSCRIPTION_ID=<subscription_id>', 'AZURE_TENANT_ID=<tenant_id>'])Aktualizujte skupinu prostředků a název webové aplikace na řádku 22 a 23.
def resourceGroup = '<resource_group>' def webAppName = '<app_name>'Aktualizace ID přihlašovacích údajů v instanci Jenkinse
withCredentials([usernamePassword(credentialsId: '<service_principal>', passwordVariable: 'AZURE_CLIENT_SECRET', usernameVariable: 'AZURE_CLIENT_ID')]) {
Vytvořit Jenkins pipeline
Následujícím postupem vytvořte kanál Jenkinse:
Otevřete Jenkinse ve webovém prohlížeči.
Vyberte New Item (Nová položka).
Zadejte název úlohy.
Vyberte Kanál.
Vyberte OK.
Vyberte Kanál.
Jako definici vyberte skript pipeline ze SCM.
V případě SCM vyberte Git.
Zadejte adresu URL GitHubu pro vaše forkované úložiště:
https:\<forked_repo\>.gitZvolte Uložit.
Otestujte svůj pipeline
Přejděte na pipeline, kterou jste vytvořili.
Zvolte Spustit sestavení
Po dokončení sestavení vyberte Výstup konzoly a zobrazte podrobnosti o sestavení.
Ověření webové aplikace
Následujícím postupem ověřte, že je soubor WAR úspěšně nasazený do vaší webové aplikace:
Přejděte na následující adresu URL:
http://<app_name>.azurewebsites.net/api/calculator/pingMěl by se zobrazit text podobný následujícímu:
Welcome to Java Web App!!! This is updated! Today's datePřejděte na následující adresu URL (nahraďte <x> a <y> dvěma hodnotami, které se mají sečíst): http://<app_name>.azurewebsites.net/api/calculator/add?x=<x>&y=<y>.
Nasazení do Azure App Service v Linuxu
App Service může také hostovat webové aplikace nativně v Linuxu pro podporované zásobníky aplikací. Může také spouštět vlastní linuxové kontejnery (označované také jako Web App for Containers.)
Skript můžete upravit tak, aby se nasadil do služby Azure App Service v Linuxu. App Service v Linuxu podporuje Docker. Jako takové zadáte soubor Dockerfile, který zabalí webovou aplikaci s modulem runtime služby do image Dockeru. Modul plug-in sestaví image, odešle ji do registru Dockeru a nasadí image do webové aplikace.
Informace o migraci vlastního softwaru do služby Azure App Service pomocí vlastního kontejneru pro vytvoření služby Azure App Service v Linuxu a azure Container Registry
az group create --name myResourceGroup2 --location westus2 az acr create --name myACRName --resource-group myResourceGroup2 --sku Basic --admin-enabled true az appservice plan create --name myAppServicePlan --resource-group myResourceGroup2 --is-linux az webapp create --resource-group myResourceGroup2 --plan myAppServicePlan --name myApp --deployment-container-image-name myACRName.azurecr.io/calculator:latestUjistěte se, že je nainstalovaný plug-in Docker Pipeline.
Ve stejném úložišti Simple Java Web App for Azure , které jste forkovali, upravte soubor Jenkinsfile2 následujícím způsobem:
Aktualizujte ID předplatného a ID tenanta.
withEnv(['AZURE_SUBSCRIPTION_ID=<mySubscriptionId>', 'AZURE_TENANT_ID=<myTenantId>']) {Aktualizujte názvy vaší skupiny prostředků, webové aplikace a ACR (nahraďte zástupné symboly hodnotami).
def webAppResourceGroup = '<resource_group>' def webAppName = '<app_name>' def acrName = '<registry>'Aktualizujte
<azsrvprincipal\>na ID vašich přihlašovacích údajů.withCredentials([usernamePassword(credentialsId: '<service_principal>', passwordVariable: 'AZURE_CLIENT_SECRET', usernameVariable: 'AZURE_CLIENT_ID')]) {
Vytvořte nový kanál Jenkinse, jak jste to udělali při nasazování do webové aplikace Azure ve Windows pomocí
Jenkinsfile2.Spusťte novou úlohu.
Pokud to chcete ověřit, spusťte v Azure CLI následující příkaz:
az acr repository list -n <myRegistry> -o jsonMěly by se zobrazit výsledky podobné následujícímu:
[ "calculator" ]Přejděte na
http://<app_name>.azurewebsites.net/api/calculator/ping(nahraďte zástupný symbol). Měly by se zobrazit podobné výsledky jako následující:Welcome to Java Web App!!! This is updated! Today's datePřejděte na
http://<app_name>.azurewebsites.net/api/calculator/add?x=<x>&y=<y>a nahraďte zástupné symboly. Zadané hodnotyxaysečtou a zobrazí se.