Я использую Jenkins в течение нескольких лет и недавно купил новый ПК с Windows 10. Я установил Jenkins 2.89.2, Visual Studio 2017 и Python 3.6 и скопировал несколько заданий Jenkins с моего предыдущего ПК с Windows 7.
Проблема, с которой я столкнулся, заключалась в том, что все скрипты на python в свободных заданиях Jenkins теперь ничего не делают.
У меня есть похожие командные файлы командной строки, которые запускают эти сценарии Python, которые прекрасно работают в командном окне на новом ПК.
Я также проверил ассоциации файлов с ftype
и в итоге изменил его:
ftype Python.File
Python.File="D:\Python36_64\python.exe" "%L" %*
Мой обходной путь выглядит так:
Пример строки, которая работала под Windows 7:
CreateBuildNumber.py
<= использует PATH для поиска этого файла, затем сопоставления файлов для запуска python
Замена строки должна работать под Windows 10:
python.\Scripts\CreateBuildNumber.py
<= использует PATH для поиска python.
Как я могу избежать явных путей в моих скриптах?
Обновить:
D:\project>assoc | findstr -i python
.py=Python.File
.pyc=Python.CompiledFile
.pyd=Python.Extension
.pyo=Python.CompiledFile
.pyw=Python.NoConFile
.pyz=Python.ArchiveFile
.pyzw=Python.NoConArchiveFile
echo %PATH%
D:\Python36_64;D:\Python36_64\Scripts;.\Scripts;"C:\Program Files\CppCheck";C:\windows\system32
Дальнейшая информация
Я удалил. \Scripts из% PATH% и снова запустил задание, также переместив demo.py в. \Scripts, теперь вместо того, чтобы ничего не делать, появляется ошибка:
'demo.py' is not recognized as an internal or external command, operable program or batch file.
Это означает, что Windows IS ищет и находит скрипты Python, но не может их выполнить. Почему бы Windows не сделать следующий шаг и использовать ассоциации файлов, чтобы найти исполняемую программу для запуска, принимая файл в качестве параметра?
Обновить:
Теперь все работает как надо, и я не знаю почему.
Недавно я начал использовать другую работу на Дженкинс, которую я не выполнял и не трогал более двух лет, и эта работа работала без изменений. С тех пор я вернулся к рассматриваемой работе и отменил все изменения, и эта тоже работает.
Я предполагаю, что Windows 10 была исправлена.