2014-01-21 4 views
12

Мы используем сервер Jenkins для нашего ежедневного процесса сборки и выполняем некоторые сценарии bash на удаленных хостах через SSH. Эти скрипты генерируют файлы журнала html на удаленных хостах.Как скопировать файл с удаленного хоста SSH на сервер Jenkins

Мы используем плагин Copy to slave для копирования файлов на подчиненных машинах и плагин Publish over ssh для управления сессиями SSH в процессе сборки.

Теперь возникает вопрос: мы хотим скопировать некоторые файлы (файлы журналов Scripts) с удаленного хоста ssh на Jenkins Server. Какой будет и лучший вариант для него (плагин будет лучше, если таковой имеется).

EDIT:

sshpass вариант, но ищет любой плагин или лучший способ, чтобы сделать работу.

+0

Вы считаете, что используете «Архивные артефакты»? Он будет хранить журналы, связанные со сборкой на сервере Jenkins. – gaige

+0

файл генерируется скриптом выполнения ... это не журнал jenkins. Артефакты доступны и для этого файла? –

+0

До тех пор, пока он создан во время работы Jenkins и у вас есть доступ к нему, это артефакт. Фактически, те типы файлов (сгенерированные html, скомпилированные двоичные файлы и т. Д.) - это то, для чего предназначены архивные артефакты. – gaige

ответ

6

использование sshpass команды для отправки файла в

Build Environment -> Выполнить Shell скрипт на удаленном хосте с помощью SSH -> Post построить сценарий

пример команды:

sshpass -p "password" scp path/of/file <new_server_ip>:/path/of/file 

Это пропустит запрос пароля для команды scp и предоставит пароль..

1

Я думаю, что вы можете создать SSH ключей и передать его в раба в качестве параметра, например, Config File Provider Plugin

Тогда просто использовать УПП для извлечения файлов с помощью этой пары ключей для процесса аутентификации.

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