gocd - сделать пользовательский командный сценарий доступным для агента

Я пытаюсь добавить пользовательскую команду, которая, в свою очередь, вызывает скрипт Python, как, например, здесь https://support.thoughtworks.com/hc/en-us/articles/213253646-Go-s-custom.-command,

<exec command="myecho.sh">
</exec>

В моем случае,

<exec command="/usr/bin/python cd_dashboard.py">
  <arg>-v</arg>
</exec>

Но когда я запускаю конвейер, он выходит из строя со следующей ошибкой,

[go] Задача: «/usr/bin/python cd_dashboard.py» -vtook: 0,2 с Произошла ошибка при попытке выполнить «/usr/bin/python cd_dashboard.py -v». Убедитесь, что [/usr/bin/python cd_dashboard.py] можно выполнить на этом агенте.

Итак, вопрос в том, где должен находиться скрипт Python, чтобы он был доступен для агента? Должен быть в пути агента.

Это правильное понимание?


person Jayesh Gohil    schedule 30.08.2017    source источник


Ответы (1)


Команда должна быть /usr/bin/python, переместите cd_dashboard.py в args. Прямо сейчас GoCD пытается запустить исполняемый файл /usr/bin/python cd_dashboard.py, которого, конечно же, не существует. У вас должно получиться что-то вроде этого:

<exec command="/usr/bin/python">
  <arg>-v</arg>
  <arg>cd_dashboard.py</arg>
</exec>
person grundic    schedule 31.08.2017
comment
Спасибо. Где должен находиться cd_dashboard.py. Может ли он находиться в репозитории custom_command по умолчанию и по-прежнему быть доступным для агента, или его нужно явно сделать доступным для агента? - person Jayesh Gohil; 31.08.2017
comment
Да, он может быть частью репозитория по умолчанию, в этом случае GoCD автоматически клонирует/скачивает его на каждом агенте, где будет выполняться это задание. - person grundic; 31.08.2017
comment
Потрясающий. Спасибо. - person Jayesh Gohil; 31.08.2017