Как автоматизировать VPN-соединение Azure P2S в Windows 10 с конвейером Jenkins - PullRequest
0 голосов
/ 30 октября 2019

Я установил Azure P2S VPN на свой компьютер с Windows и могу подключить его вручную. У меня также есть сценарий PowerShell, чтобы сделать работу. Вот сценарий:

rasphone  "Azure-VPN"
$wshell = New-Object -ComObject wscript.shell;
$wshell.AppActivate('Network Connections')
Sleep 2
$wshell.SendKeys('~')
Sleep 2
$wshell.SendKeys('~')

$wshell.SendKeys('~') должен заменить нажатие клавиши Enter, когда я подключаюсь вручную.

Я могу запустить этот сценарий для успешного подключения VPN из командной строки:

> powershell C:\myScript.ps1 True

Теперь я хочу запустить этот сценарий в конвейере Jenkins. Но, похоже, этого достичь невозможно.

stage('VPN'){       
    bat "powershell C:\\myScript.ps1"
    }

Возвращает False на выходе консоли Jenkins.

Я также попытался выполнить принятый здесь ответ , но все равно не повезло (не могу запустить ни из командыни на Дженкинса)

 > rasdial Azure-VPN /phonebook:%userprofile%\AppData\Roaming\Microsoft\Network\Connections\Cm\<aLongNumber>\<aLongNumber>.pbk

 Remote Access error 623 - The system could not find the phone book entry for this connection.

Есть ли обходной путь для этого? Моя цель - использовать конвейер Jenkins для включения VPN, отправки некоторых файлов по сети, а затем выключить его.

1 Ответ

0 голосов
/ 31 октября 2019

Вы можете использовать плагин Jenkin Powershell для прямого запуска скриптов Powershell в Windows через Jenkins. Вы можете получить больше ссылок из этого блога .

enter image description here

В качестве альтернативы см. этот ответ SO ,Вы можете вызвать командный файл с Дженкинсом, например, для путей Windows:

stage('build') {
  dir("build_folder"){
      bat "run_build_windows.bat"
  }
}

или

stage('build') {
  bat "c://some/folder/run_build_windows.bat"
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...