Как автоматически изменить имя файла (результаты сохраняются как файл pickle) в Jenkins для каждой сборки?Читайте ниже, чтобы узнать больше о вопросе - PullRequest
0 голосов
/ 18 марта 2019

Я использую Python 2.7 и последнюю версию Jenkins.

Когда запускается Jenkins, результаты скрипта python сохраняются в файлах маринадов для дальнейшего использования.

Всякий раз, когда происходит сборка, я хочу сохранить все результаты сборки скрипта python в файлах pickle. Я могу хранить результаты в файлах маринада. Как сохранить результаты каждой сборки с разными именами файлов, чтобы получить доступ к файлам из скрипта python.

Можно ли добавить build_number и job_name в качестве имени файла или добавление / добавление номера сборки к текущему имени файла?

Позже, с помощью другого скрипта на python, я смогу получить доступ к файлам выбора текущей и предыдущей успешных сборок (последних 2 успешных сборок) для сравнения результатов.

Для решения приветствуются изменения в Jenkinsfile или Python-скрипте или в обоих. Спасибо.

1 Ответ

0 голосов
/ 18 марта 2019

Из скрипта Python вы можете использовать os.rename() для переименования вашего файла.Дженкинс устанавливает переменные среды для выполняемого задания, чтобы дать вам имя и номер задания.

Сочетание двух, которые вы можете сделать:

job_name = os.environ.get('JOB_NAME', 'default_name')
build_number = os.environ.get('BUILD_NUMBER', 1)
new_output = "{}_{}.bin".format(job_name, build_number)
os.rename(original_output, new_output)
...