Этап GoCD для запуска скрипта, если он существует - PullRequest
0 голосов
/ 25 сентября 2019

У меня есть шаблон, который используют все мои конвейеры.

id хотел бы добавить этап для запуска файла contract-tests.sh.

не у всех моих проектов будет этот файлпоэтому там трубопроводы ломаются.

Я не хочу создавать новый шаблон

Я попробовал следующую пользовательскую команду в качестве теста, но она на самом деле не выводит строку на консоль.

test -f contract-tests.sh && echo "contract tests file is present"

1 Ответ

0 голосов
/ 26 сентября 2019

Команды GoCD по умолчанию не запускаются через оболочку, поэтому вам придется явно вызывать исполняемый файл /bin/sh с аргументами -c и test -f contract-tests.sh && echo "contract tests file is present"

Также необходимо убедиться, что командазапускается в каталоге, где на самом деле находится скрипт (который, конечно, не является корневым каталогом проекта, если у вас есть, например, более одного материала).

Еще один возможный трюк - запускать команду только в некоторых случаях, а недругие должны поместить имя команды в param шаблона.Таким образом, вы можете указать contract-tests.sh в качестве параметра для конвейеров, у которых он есть, и пустышку типа /bin/true или echo для конвейеров, которые этого не делают.

...