2015-10-28 3 views
2

Я использую jenkins для реализации CI и успешно публикую файлы на сервере сборки. Однако развертывание на сервере приложений не работает, поскольку плагин FTP только копирует папки, а не файлы. Так что я пишу сценарий powershell для копирования файлов по FTP.Скопируйте файлы через FTP и используя powershell

мне удалось написать это до сих пор с помощью прибегая к помощи вокруг:

## Automate FTP uploads 
## Go to destination 
cd C:\TrashFolder 
$location = Get-Location 
"We are here: $location" 
## Get files 
$files = Get-ChildItem -recurse 
## Get ftp object 
$ftp_client = New-Object System.Net.WebClient 
$ftp_address = "ftp://MyUserName:[email protected]://IPAddress" 
## Make uploads 
foreach($file in $files) 
    { 

    $directory = ""; 
    $source = $file.DirectoryName + "\" + $file; 
    if ($File.DirectoryName.Length -gt 0) 
    { 
     $directory = $file.DirectoryName.Replace($Location,"") 
    } 
    $Directory += "/"; 
    $FtpCommand = $ftp_address + $directory + $file 

    $uri = New-Object System.Uri($FtpCommand) 
    "Command is " + $uri + " file is $source" 
    $ftp_client.UploadFile($uri, $source) 
} 

, но я получаю это исключение

Exception calling "UploadFile" with "2" argument(s): "The remote name could not be resolved: 'ftp'" At C:\DeployScripts\FileUpload.ps1:26 char:5 + $ftp_client.UploadFile($uri, $source) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (:) [], MethodInvocationException + FullyQualifiedErrorId : WebException

помощь будет оценена. TIA

+0

Ошибка возникает с разрешением адреса. Попробуйте ping $ ftp_address –

ответ

0

Ну, похоже, строка адреса $ ftp нуждается в некоторой фиксации для стартеров.

"ftp://MyUserName:[email protected]" 

Пример:

"ftp://Nick:[email protected]" 

Там не должно быть второй FTP: // перед IP сервера/имя. См., Если это помогает

+0

nope ... does not work .. все еще получая ту же проблему – SJMan

+0

Я проверил ваш код с предлагаемой коррекцией и его работой для меня сейчас. Можете ли вы изменить свой вопрос с помощью обновленного кода, который вы используете, и если сообщение об ошибке изменилось. – Nick

+0

'Exception call" UploadFile "с аргументом« 2 »:« Исключение произошло во время запроса WebClient ». В C: \ DeployScripts \ FileUpload.ps1: 26 char: 5 + $ ftp_client.UploadFile ($ uri, $ source) + ~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~ + CategoryInfo: NotSpecified: (:) [], MethodInvocationException + FullyQualifiedErrorId: WebException' – SJMan

Смежные вопросы