Дженкинс: Как проверить, существует ли каталог серверов в Nexus с powershell? - PullRequest
0 голосов
/ 14 мая 2019

Мы используем Дженкинс. Я хочу загрузить каталог + файлы из каталога на сервере Windows в Nexus с PowerShell.

Но перед этим я хочу проверить, существует ли этот каталог в Nexus.

С помощью wget я могу загрузить каталог + файлы из Nexus в мое рабочее пространство Jenkins.

Но я хочу просто проверить каталог / файл по URL ("http://xxxxx/yyyyy/zzzzz/"), если он существует в Nexus на сервере.

Я пытался: - Test-Path -Path, - Get-SpWeb (не распознается), - вызвать запрос, - HTTPRequest = [System.Net.WebRequest] :: Создать ('url').

Я много пробовал, но вызываю запрос, и HTTPRequest работает, если каталог существует. Но если его не существует, я получаю ошибку 404 ($ HTTP_Response = $ HTTP_Request.GetResponse ()) или он зависает ...

Я ищу пример / учебное пособие powershell (Jenkins), которое проверяет, существует ли каталог / файл "http://xxxxx/yyyyy/zzzzz/" в Nexus на сервере или НЕ существует.

Ответы [ 2 ]

0 голосов
/ 29 мая 2019

«Только» это работало для меня с Дженкинсом, и я не знаю, почему -Mehthod HEAD необходим и что он делает, но, по крайней мере, он работает в Дженкинсе:

try {
    $Response = Invoke-WebRequest -Method HEAD -Uri $url
    $status = $_.Exception.Response.StatusCode.Value__

} catch {
    $status = $_.Exception.Response.StatusCode.Value__
} # END try {...} catch {...} 

if (($status -eq 200) -Or ([string]::IsNullOrWhiteSpace($status))) {...}
0 голосов
/ 14 мая 2019

Вы можете сделать:

$status = (Invoke-WebRequest -Uri http://xxxxx/yyyyy/zzzzz/).StatusCode
if ($status -eq 200) {
   #do stuff when url exists
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...