Я использую 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
Ошибка возникает с разрешением адреса. Попробуйте ping $ ftp_address –