Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ważne
Podczas gdy wiele usług platformy Azure ma wtyczki Jenkins, większość z tych wtyczek zakończyła wsparcie od 29 lutego 2024 r. Interfejs wiersza polecenia platformy Azure to obecnie zalecany sposób integracji serwera Jenkins z usługami platformy Azure. Aby uzyskać więcej informacji, zapoznaj się z artykułem wtyczki serwera Jenkins dla usługi Azure.
Aby wdrożyć aplikację internetową Java na platformie Azure, możesz użyć Azure CLI w Jenkins Pipeline. W tym samouczku wykonasz następujące zadania:
- Tworzenie maszyny wirtualnej serwera Jenkins
- Konfigurowanie usługi Jenkins
- Tworzenie aplikacji internetowej na platformie Azure
- Przygotowywanie repozytorium GitHub
- Utworzenie potoku Jenkins
- Uruchom potok i zweryfikuj aplikację internetową
Wymagania wstępne
- Subskrypcja platformy Azure: jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.
- Jenkins - Instalowanie serwera Jenkins na maszynie wirtualnej z systemem Linux
- Azure CLI: Zainstaluj Azure CLI (wersja 2.0.67 lub nowsza) na serwerze Jenkins.
Konfigurowanie usługi Jenkins
W poniższych krokach pokazano, jak zainstalować wymagany zestaw Java JDK i narzędzie Maven na kontrolerze serwera Jenkins:
Zaloguj się do kontrolera Serwera Jenkins przy użyciu protokołu SSH.
Pobierz i zainstaluj kompilację Zestawu OpenJDK dla platformy Azure Azul Zulu z repozytorium 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-jdkUruchom następujące polecenie, aby zainstalować narzędzie Maven:
sudo apt-get install -y maven
Dodaj administratora systemu Azure do poświadczeń Jenkins
W poniższych krokach pokazano, jak określić poświadczenia platformy Azure:
Upewnij się, że wtyczka Credentials jest zainstalowana.
Na pulpicie nawigacyjnym narzędzia Jenkins wybierz pozycję Poświadczenia —> System ->.
Wybierz pozycję Poświadczenia globalne (bez ograniczeń).
Wybierz opcję Dodaj poświadczenia, aby dodać jednostkę usługi Microsoft Azure. Upewnij się, że rodzaj poświadczeń to Nazwa użytkownika z hasłem i wprowadź następujące elementy:
-
Nazwa użytkownika: jednostka usługi
appId -
Hasło: główny dostęp usługi
password -
ID: Identyfikator poświadczeń (na przykład
AzureServicePrincipal)
-
Nazwa użytkownika: jednostka usługi
Tworzenie usługi Azure App Service na potrzeby wdrażania aplikacji internetowej Java
Użyj polecenia az appservice plan create , aby utworzyć plan usługi Azure App Service z warstwą cenową BEZPŁATNA :
az appservice plan create \
--name <app_service_plan> \
--resource-group <resource_group> \
--sku FREE
Kluczowe punkty:
- Plan usługi appservice definiuje zasoby fizyczne używane do hostowania aplikacji.
- Wszystkie aplikacje przypisane do planu usługi appservice współdzielą te zasoby.
- Plany usługi AppService umożliwiają oszczędność kosztów podczas hostowania wielu aplikacji.
Tworzenie aplikacji internetowej platformy Azure
Użyj polecenia az webapp create, aby utworzyć definicję aplikacji internetowej w planie usługi App Service.
az webapp create \
--name <app_name> \
--resource-group <resource_group> \
--plan <app_service_plan>
Kluczowe punkty:
- Definicja aplikacji internetowej udostępnia adres URL umożliwiający uzyskiwanie dostępu do aplikacji i konfiguruje kilka opcji wdrażania kodu na platformie Azure.
-
<app_name>Zastąp symbol zastępczy unikatową nazwą aplikacji. - Nazwa aplikacji jest częścią domyślnej nazwy domeny aplikacji internetowej. W związku z tym nazwa musi być unikatowa we wszystkich aplikacjach na platformie Azure.
- Przed udostępnieniem go użytkownikom możesz zamapować wpis niestandardowej nazwy domeny na aplikację internetową.
Konfigurowanie języka Java
Użyj polecenia az appservice web config update, aby skonfigurować środowisko uruchomieniowe Java dla aplikacji.
az webapp config set \
--name <app_name> \
--resource-group <resource_group> \
--java-version 1.8 \
--java-container Tomcat \
--java-container-version 8.0
Przygotowywanie repozytorium GitHub
Wybierz przycisk Fork, aby zforkować repozytorium do własnego konta GitHub.
Otwórz plik Jenkinsfile , klikając nazwę pliku.
Wybierz ikonę ołówka, aby edytować plik.
Zaktualizuj identyfikator subskrypcji i identyfikator dzierżawy.
withEnv(['AZURE_SUBSCRIPTION_ID=<subscription_id>', 'AZURE_TENANT_ID=<tenant_id>'])Zaktualizuj odpowiednio grupę zasobów i nazwę aplikacji internetowej w wierszu 22 i 23.
def resourceGroup = '<resource_group>' def webAppName = '<app_name>'Zaktualizuj identyfikator poświadczeń w wystąpieniu Jenkins.
withCredentials([usernamePassword(credentialsId: '<service_principal>', passwordVariable: 'AZURE_CLIENT_SECRET', usernameVariable: 'AZURE_CLIENT_ID')]) {
Utworzenie potoku Jenkins
Wykonaj następujące czynności, aby utworzyć pipeline Jenkins:
Otwórz usługę Jenkins w przeglądarce internetowej.
Wybierz pozycję New Item (Nowy element).
Wprowadź nazwę zadania.
Wybierz pozycję Potok.
Kliknij przycisk OK.
Wybierz pozycję Potok.
W obszarze Definicja wybierz pozycję Skrypt potoku z systemu SCM.
W polu SCM wybierz pozycję Git.
Wprowadź adres URL GitHub dla forka repozytorium:
https:\<forked_repo\>.gitWybierz Zapisz
Testowanie potoku
Przejdź do utworzonego potoku danych
Wybierz Kompiluj teraz
Po zakończeniu kompilacji wybierz pozycję Dane wyjściowe konsoli , aby wyświetlić szczegóły kompilacji.
Weryfikowanie aplikacji internetowej
Wykonaj następujące czynności, aby sprawdzić, czy plik WAR został pomyślnie wdrożony w aplikacji internetowej:
Przejdź do następującego adresu URL:
http://<app_name>.azurewebsites.net/api/calculator/pingPowinien zostać wyświetlony tekst podobny do następującego:
Welcome to Java Web App!!! This is updated! Today's datePrzejdź do następującego adresu URL (zastąp <x> i <y> dwiema wartościami do zsumowania): http://<app_name>.azurewebsites.net/api/calculator/add?x=<x>&y=<y>.
Wdrażanie na platformie Azure App Service na systemie Linux
Usługa App Service może również hostować aplikacje internetowe natywnie w systemie Linux na potrzeby obsługiwanych stosów aplikacji. Może również uruchamiać niestandardowe kontenery systemu Linux (nazywane również aplikacją internetową dla kontenerów).
Skrypt można zmodyfikować w celu wdrożenia w usłudze Azure App Service w systemie Linux. Usługa App Service w systemie Linux obsługuje platformę Docker. W związku z tym należy podać plik Dockerfile, który pakuje aplikację internetową ze środowiskiem uruchomieniowym usługi do obrazu platformy Docker. Wtyczka kompiluje obraz, wypycha go do rejestru platformy Docker i wdraża obraz w aplikacji internetowej.
Zapoznaj się z artykułem Migrowanie oprogramowania niestandardowego do usługi Azure App Service przy użyciu kontenera niestandardowego , aby utworzyć usługę Azure App Service w systemie Linux i rejestrze kontenerów platformy Azure.
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:latestUpewnij się, że wtyczka Docker Pipeline jest zainstalowana.
W rozwidlonym przez ciebie repozytorium Simple Java Web App for Azure edytuj plik Jenkinsfile2 tak, jak poniżej:
Zaktualizuj identyfikator subskrypcji i identyfikator dzierżawy.
withEnv(['AZURE_SUBSCRIPTION_ID=<mySubscriptionId>', 'AZURE_TENANT_ID=<myTenantId>']) {Zaktualizuj nazwy grupy zasobów, aplikacji internetowej i usługi ACR (zastępując symbole zastępcze wartościami).
def webAppResourceGroup = '<resource_group>' def webAppName = '<app_name>' def acrName = '<registry>'Zaktualizuj
<azsrvprincipal\>na Twój identyfikator poświadczeńwithCredentials([usernamePassword(credentialsId: '<service_principal>', passwordVariable: 'AZURE_CLIENT_SECRET', usernameVariable: 'AZURE_CLIENT_ID')]) {
Utwórz nowy potok narzędzia Jenkins, tak jak podczas wdrażania w aplikacji internetowej platformy Azure w systemie Windows przy użyciu polecenia
Jenkinsfile2.Uruchom swoje nowe zadanie.
Aby sprawdzić, w interfejsie wiersza polecenia platformy Azure uruchom następujące polecenie:
az acr repository list -n <myRegistry> -o jsonPowinny zostać wyświetlone wyniki podobne do następujących:
[ "calculator" ]Przejdź do
http://<app_name>.azurewebsites.net/api/calculator/ping(zastępując symbol zastępczy). Powinny zostać wyświetlone wyniki podobne do następujących:Welcome to Java Web App!!! This is updated! Today's datePrzejdź do
http://<app_name>.azurewebsites.net/api/calculator/add?x=<x>&y=<y>(zastępując symbole zastępcze). Wartości określone dlaxiysą sumowane i wyświetlane.