Как заставить Дженкинса найти сценарий оболочки, указанный в задании - PullRequest
0 голосов
/ 21 октября 2019

Я создал задание в Jenkins для запуска сценария оболочки "QIDS_Report_Deploy.sh", который в основном перемещает файл JAR из одного местоположения в «Место развертывания.

Первый раз, когда я пытался выполнить сценарий оболочки, был выполнен иКроме того, я получил ожидаемые результаты.

Затем мне нужно было запустить другой сценарий для запуска файла JAR, используя "QIDSReport_Install.sh", поэтому я просто изменил команду в том же задании, которое я создал для "QIDS_Report_Deploy.sh", в текстовой области «Выполнить оболочку» конфигурации задания Jenkins. При этом произошла ошибка при выдаче следующей ошибки: -

Building in workspace /opt/apps/data/Jenkins_2_138_3/.jenkins/workspace/QIDs_REPORT_INSTALL
[QIDs_REPORT_INSTALL] $ /bin/sh -xe /var/tmp/jenkins1438807827969815358.sh
+ /opt/apps/corona/loads/SvnService/QIDSReportV2_3HPE/QIDSReport_Install.sh itg
/var/tmp/jenkins1438807827969815358.sh[2]: /opt/apps/corona/loads/SvnService/QIDSReportV2_3HPE/QIDSReport_Install.sh:  not found.
Build step 'Execute shell' marked build as failure
Finished: FAILURE

После этого я отменил изменения, внесенные в раздел команд в части «Выполнение оболочки», из:-

/opt/apps/corona/loads/SvnService/QIDSReportV2_3HPE/QIDSReport_Install.sh itg

до

/opt/apps/corona/loads/SvnService/QIDSReportV2_3HPE/QIDS_Report_Deploy.sh itg

Теперь то, что ранее работало (QIDS_Report_Deploy.sh), также не работает, что приводит к следующей ошибке: -

/opt/apps/data/Jenkins_2_138_3/.jenkins/workspace/QIDs_REPORT_INSTALL
[QIDs_REPORT_INSTALL] $ /bin/sh -xe /var/tmp/jenkins1438807827969815360.sh
+ /opt/apps/corona/loads/SvnService/QIDSReportV2_3HPE/QIDSReport_Install.sh itg
/var/tmp/jenkins1438807827969815360.sh[2]: /opt/apps/corona/loads/SvnService/QIDSReportV2_3HPE/QIDS_Report_Deploy.sh:  not found.
Build step 'Execute shell' marked build as failure
Finished: FAILURE

После того, как я столкнулся с проблемой, я удалил задание и создал два новых отдельных задания для выполнения сценариев каждой оболочки, но теперь он продолжает выдавать одну и ту же ошибку

Пожалуйста, дайте мне знать, еслиВы хотите, чтобы я объяснил больше о проблеме.

Примечание: -

  1. Первая строка скрипта: #!/bin/sh
  2. Разрешения, предоставленные обоим файлам,chmod 777

1 Ответ

0 голосов
/ 21 октября 2019

Jenkins execute shell будет работать более надежно, когда вы дадите команды вместо имени оболочки напрямую.

Когда вы решите перейти к shell, убедитесь, что он существует. В приведенном выше + /opt/apps/corona/loads/SvnService/QIDSReportV2_3HPE/QIDSReport_Install.sh

Не найдено говорит, что оболочка не существует или разрешения нет там Проверьте файл и разрешение с помощью ls -lrt и попробуйте снова

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