Как скопировать встроенный jar из Jenkins на удаленный сервер с помощью скриптов Ansible? - PullRequest
0 голосов
/ 25 июня 2019

У меня есть приложение 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, где я бы добавил туда ключи. Кроме того, я не могу добавить какие-либо плагины самостоятельно. Я могу попросить их установить, но это будет длительный процесс. Можно ли добиться этого без каких-либо дополнительных плагинов?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...