我有一个主要的构建脚本,每个詹金斯作业都会执行。此主脚本获取作业名称(来自 Jenkins),然后执行该作业名称的相关脚本。现在,我正在使用 subprocess.check_output 来调用相关脚本。我在想,我应该只导入脚本,然后调用里面的函数,而不是这个。我像这样导入它:
sys.path.insert(0,os.path.abspath(importLocation))
print("path", sys.path, os.path.abspath(importLocation))
import build
我还尝试将 insert(-1,...) 放在最后。我使用它的方式是,在执行这个函数之前,我在主脚本中有几个打印语句。
print("Starting script...")
build.run()
这在控制台上运行良好,因为它在运行之前显示“启动脚本”。不幸的是,在 Jenkins 中,它总是在控制台中显示 build.run() 的输出,然后再显示主脚本中的任何内容。我什至尝试将 build.run() 放在最底部,在 if 语句等中。
关于如何使其以正确的顺序在 Jenkins 中运行/显示的任何想法?