求助:这个自动化过程本地执行没问题,cmd 执行也没问题。
刚接触 Jenkins,部署这块不是很熟悉,是否也是跟路径有关呢?

----------------------------------------------20180703----------------------------------------------

回头看看发现还不是很懂,研究了下,记录下。
解决方案:

当前.py 文件路径 E:\WEB-UI\tool\jenkins

# -*- coding: utf-8 -*-
import os

if __name__ == '__main__':
    print(os.path.dirname(os.path.abspath('.')))
    print(os.path.abspath(os.path.join(os.path.dirname(__file__))))
    print(os.path.abspath(os.path.join(os.path.dirname(__file__), os.path.pardir)))

以下是用 pycharm 执行的结果:

E:\WEB-UI\tool
E:\WEB-UI\tool\jenkins
E:\WEB-UI\tool

以下是 jenkins 执行的结果:

C:\Users\zhangjg\.jenkins\workspace   #返回Jenkins安装路径
E:\WEB-UI\tool\jenkins  #返回当前.py路径
E:\WEB-UI\tool  #返回当前.py上级目录路径

由此可见,使用

print(os.path.abspath(os.path.join(os.path.dirname(__file__))))

无论是在 Jenkins 执行还是 pycharm 执行均返回当前文件的绝对路径

----------------------------------------------20180703----------------------------------------------

以下转载自 https://www.cnblogs.com/meitian/p/6810652.html
还有种情况,导入自定义的包

jenkins 需要执行.py 的文件加上

rootpath = str('E:')  # 项目目录 E:\WEB_UI
syspath = sys.path
sys.path = []
sys.path.append(rootpath)  # 将工程根目录加入到python搜索路径中
sys.path.extend([rootpath + i for i in os.listdir(rootpath) if i[0] != "."])  # 将工程目录下的一级目录添加到python搜索路径中
sys.path.extend(syspath)


↙↙↙阅读原文可查看相关链接,并与作者交流