Добрый день!
На одном из проектов в виду его легаси статуса и не менее легаси методик разработки мне увы не приходится ждать, что код проекта будет стучать по по post commit hook’у в мой Дженкинс для последующего запуска автотестов.
За сим возникла необходимость поллить папки с билдами и инциировать запуск GUI тестов на эти билды.
Т.к. задача сама по себе не сборочная, а больше cron-task’овая, то очевидно, что мне нужно рабочую папку указывать свою, кастомную. Почему? При запуске тестов cwd передается и импорты в питоньих скриптах работают как положено.
Логика запуска тестов подразумевает, что поллер, как только нашел новый билд, дергает питоний скрипт, который уже разбирается дальше, какие проекты сейчас “свежие” и какие соответсвующие сьюты нужно запустить. Проблема состоит в том, что в каждом Job’е должен перед запуском прописываться разный workspace, чтобы относительные пути импортов в проекте работали, как если бы первый шаг запуска head скрипта был именно из папки, в которой он и находится.
Для этого я:
- имею параметризированную сборку
- завел параметр WORKSPACE
- в расширенных настройках проекта ставлю “Использовать другую директорию” и пробовал указывать %workspace%, $workspace, но все без толку.
в логе фигурирует:
Building in workspace C:\Program Files (x86)\Jenkins\"C:\autotests\smoke_testing\product"
т.е. переменная в кавычках прочиталась правильно, но почему-то добавилась к существуюшему пути, вместо того, чтобы быть абсолютным.
Буду очень признателен за решение проблемы передачи кастомной рабочей директории и благодарен за любые замечания