Как скопировать файл с удаленного хоста SSH на Jenkins Server
Мы используем сервер Jenkins для нашего ежедневного процесса сборки и выполняем несколько сценариев bash на удаленных хостах через SSH. Эти скрипты генерируют файлы журнала html на удаленных хостах.
Мы используем Скопировать в подчиненный плагин для копирования файлов на подчиненных машинах и Опубликовать над ssh плагин для управления сессиями SSH в процессе сборки.
Теперь возникает вопрос: мы хотим скопировать некоторые файлы (файлы журналов Scripts) с удаленного узла ssh на Jenkins Server.
Который будет возможен и лучший вариант для того же (плагин будет лучше, если таковой имеется).
EDIT:
sshpass - это вариант, но ищет любой плагин или лучший способ выполнить эту работу.
Ответы
Ответ 1
используйте sshpass
команду для отправки файла в
Среда сборки → Выполнить оболочку script на удаленном хосте с помощью ssh → Post build script
команда образца:
sshpass -p "password" scp path/of/file <new_server_ip>:/path/of/file
Это пропустит приглашение пароля для команды scp
и предоставит пароль для scp
.
Ответ 2
Я думаю, вы можете сгенерировать ssh keypair и передать его подчиненному устройству в качестве параметра, например, Плагин провайдера файлов
Затем просто используйте scp для извлечения файлов с помощью этой ключевой пары для процесса аутентификации.