#jenkins #subprocess
Вопрос:
У меня есть скрипт на python, внутри которого я использую модуль подпроцесса(используя команды curl) для запуска задания-B.
Скрипт python вызывается из оболочки выполнения другого задания JOB-A . Обе работы выполняются на одной и той же машине Дженкинса.
Когда я пытаюсь запустить сценарий локально через свой редактор кода, он успешно запускается. Но когда я создаю ЗАДАНИЕ-A, оно не запускает ЗАДАНИЕ-B, при попытке подключиться к api ЗАДАНИЯ-B оно выдает ошибку отказа в подключении.
% Total % Received % Xferd Average Speed Time Time Time Currentn
Dload Upload Total Spent Left Speednr
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:--
0curl: (7) Failed to connect to mydomain.com port 443: Connection refusedn'))
Это мой фрагмент кода, в котором я пытаюсь подключиться к api JOB-B.
cmd = ["curl", "-k", "--noproxy", "*", job_b_last_build_link]
process = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
output = process.communicate()[0].decode('ascii', 'ignore')
Поэтому, в принципе, сначала я хочу проверить статус последней сборки с помощью вышеупомянутого api.
Комментарии:
1. У вас включена аутентификация??
2. Работает ли Дженкинс с HTTPS? поскольку похоже, что API вызывается через порт 443 (HTTPS), это может быть либо то, либо другое. Дженкинс работает только по протоколу HTTP, API не предоставляет сертификат и отклоняется. Работает ли скрипт при запуске из окна «dev»?
3. @apr_1985 Запуск с http дает 80: отказано в подключении
4. В файле хоста есть запись типа -> 127.0.0.1 localhost, я думал, что должна быть другая запись, например private_ip mydomain.com, я правильно думаю?