Próbuję skonfigurować rurociąg z Jenkins i wdrażanie go do Azure. Jestem na ostatnim etapie samouczka:

https://docs.Microsoft.com/en-us/azure/jenkins/tutorial-jenkins-deploy-web-app-azure-app-service.

Ten ostatni krok jest następujący, muszę wprowadzić to w Azure CLI:

az group create --name yourWebAppAzureResourceGroupName --location region
az appservice plan create --name appServicePlanName --resource-group rgname --is-linux
az webapp create --name webAppName --resource-group rgName --plan appServicePlanName --runtime "java|1.8|Tomcat|8.5"

Ostatnie polecenie daje mi błąd:

"1.8" nie jest rozpoznawany jako wewnętrzny lub zewnętrzny polecenie, program działający lub plik wsadowy.

Pomyślałem, że może Tomcat nie jest zainstalowany na moim Azure VM, który jest maszyną Linux. Użyłem więc następnego samouczka do zainstalowania TomCat:

https://www.howtoforge.com/tutorial/how-to-install-apache-tomcat-8-5-on-ubuntu-16-04/

Po tym próbowałem ponownie wykonać komendę --Runtime, ale nadal otrzymuję ten sam błąd. Nie mam pojęcia, jak to naprawić. Mam nadzieję, że ktoś może mi pomóc z tym problemem.

Próbowałem sprawdzić listy WebAPP-Runtimes i otrzymuję tę listę:

enter image description here

"Java | 1.8 | Tomcat | 8,5" jest tutaj. Próbowałem wszystkich wersji, ale nie działało.

Edytuj: działa w skorupce w chmurze Azure, ale wtedy jest inny błąd:

Linux Runtime 'java|1.8|Tomcat|8.5' is not supported.Please invoke 'list-runtimes' to cross check

Próbowałem wszystkich wersji wykonawczej, ale wciąż ten błąd. Próbowałem też z podwójnymi cytatami

1
37NPN 25 luty 2019, 13:01

2 odpowiedzi

Najlepsza odpowiedź

OK, mam to, ta lista jest dla Windows WebApp, a nie Linux. Dla systemu Linux:

az webapp list-runtimes --linux

Więc działające rozwiązanie:

az webapp create --name yourWebAppName --resource-group yourWebAppAzureResourceGroupName --plan yourLinuxAppServicePlanName --runtime "TOMCAT|8.5-jre8" 
1
4c74356b41 25 luty 2019, 12:46

Założę się, że już rozwiązałeś twój problem, ale w przypadku, gdy inni znaleźli to i używają PowerShell , aby uruchomić polecenia Azure CLI . To dla mnie działało.

Problem polega na tym, jak PowerShell interpretuje rurę, '|', znaki wewnątrz parametru --runtime, podczas oceny całej linii.

Dodaj polecenie {{x0} Serwis / kontenery / QuickStart-Dotnetcore # Create-A-Web-App "Rel =" Nofollow NefErr "> Tutaj .

Uwaga : Spowoduje to również zatrzymać PowerShell przed oceną dowolnych zmiennych w poleceniu. Co możesz zrobić, to przenieść --runtime do końca linii, aby ominąć ten problem, np. lubię to

az webapp create -g $rg -p $appPlanName -n $appName --deployment-local-git --% --runtime "DOTNETCORE|3.0"
1
kim 19 styczeń 2020, 23:39