Можем ли мы установить java на azure VM удаленно с помощью Powershell? - PullRequest
1 голос
/ 24 февраля 2020

Я пытаюсь запустить Apache jMeter на виртуальной машине azure, используя PowerShell в конвейере VSTS. Проблема в том, что azure VM создана заново, и по умолчанию JDK не установлен. Поскольку jMeter требует 'java', поэтому он выдает ошибку ниже

C:\apache-jmeter-5.2.1\bin>jmeter -n -t C:\User-search.jmx -l C:\
Not able to find Java executable or version. Please check your Java installation.
errorlevel=2

Мне нужно установить java перед запуском jMeter. Есть ли способ установить java удаленно с помощью Powershell?

Или, если есть какой-либо образ windows azure VM, доступный с предустановленным java?

Ответы [ 2 ]

1 голос
/ 24 февраля 2020

Сначала создайте сеанс на виртуальной машине, затем запустите приведенный ниже скрипт.

#Download and silent install JDK

#Working directory path
Write-Host "Creating temp working directory..."
$workd = "c:\temp"

#Check if work directory exists if not create it
If (!(Test-Path -Path $workd -PathType Container))
{ 
    New-Item -Path $workd  -ItemType directory 
}

#Create config file for silent install
Write-Host "Creating config file for silent install..."
$text = '
INSTALL_SILENT=Enable
AUTO_UPDATE=Enable
SPONSORS=Disable
REMOVEOUTOFDATEJRES=1
'
$text | Set-Content "$workd\jdkinstall.cfg"

#Download executable file
Write-Host "Download JDK file to temp directory..."
$source = "https://download.oracle.com/otn-pub/java/jdk/13.0.2+8/d4173c853231432d94f001e99d882ca7/jdk-13.0.2_windows-x64_bin.exe"
$destination = "$workd\jdk-13.0.2_windows-x64_bin.exe"
$client = New-Object System.Net.WebClient
$cookie = "oraclelicense=accept-securebackup-cookie"
$client.Headers.Add([System.Net.HttpRequestHeader]::Cookie, $cookie)
$client.DownloadFile($source, $destination)
Write-Host "Download JDK file completed !"

#Install silently
Write-Host "Trying to install JDK silently..."
Start-Process -FilePath "$workd\jdk-13.0.2_windows-x64_bin.exe" -ArgumentList INSTALLCFG="$workd\jdkinstall.cfg" -Wait
Write-Host "JDK installation completed successfully !"

#Remove the installer
Write-Host "Trying to remove JDK file from temp directory..."
rm -Force $workd\jdk*
Write-Host "JDK file deleted successfully !"
0 голосов
/ 24 февраля 2020

Вы можете выполнять произвольные команды на любых машинах, используя Powershell Remoting , самый простой способ установки Java Во время выполнения используется Chocolatey package manager , который должен быть простым:

choco install javaruntime -y

Ссылки:

...