У меня есть приложение Maven, которое находится в репозитории GitHub. Мне нужно настроить конвейер проекта Maven в Jenkins таким образом, чтобы после успешной сборки полученный jar-файл автоматически копировался на удаленный сервер (а не в какой-либо контейнер). Установка Jenkins не поддерживается мной, и я не опытный пользователь Jenkins. Коллега показала мне несколько файлов YAML, которые она написала в папке развертывания в корне проекта, что помогло ей выполнить свою работу. В качестве файлов были инвентаризованы файлы управления запасами и другие переменные, а также файл развертывания, содержащий сценарии Ansible, которые копировали файл JAR в папку на сервере. Однако заявление, которое фактически скопировало банку, по ее словам, в отдаленное место, не выглядело слишком много:
copy: src=/tmp/{{ artifactPath | basename }} dest=/tmp/ mode=0777
Тем не менее, я попытался создать проект Jenkins Maven, используя проект, но вывод консоли не выглядел так, как будто вызывались скрипты, так как там не отображались никакие команды эха.
Затем я попытался создать шаг после сборки, чтобы выполнить сценарий оболочки, чтобы попытаться скопировать файл jar в удаленное местоположение в соответствии с ответом на этот вопрос:
Как скопировать файл или файл JAR, созданный из jenkins, на сервер хоста diff
scp –P 22 DQMDME-0.0.1-SNAPSHOT.jar ci_deploy@cr2xr909489:~/home/ddqmeng/DQMDME-0.0.1-SNAPSHOT.jar
Однако это приводило к сообщениям «Ошибка проверки ключа хоста».
Я попытался пропустить проверку хост-файла, используя это:
https://www.middlewareinventory.com/blog/how-to-ignore-ssh-host-key-verification/
Однако мне не повезло. У меня нет доступа к серверу Jenkins, где я бы добавил туда ключи. Кроме того, я не могу добавить какие-либо плагины самостоятельно. Я могу попросить их установить, но это будет длительный процесс. Можно ли добиться этого без каких-либо дополнительных плагинов?