【问题标题】:how to change azure devops script execution path如何更改 azure devops 脚本执行路径
【发布时间】:2020-06-20 23:13:27
【问题描述】:

有没有办法避免在 temp 目录中执行 python 脚本? 我的意思是,即使我将工作目录设置为要在其上执行 python 脚本的存储库,我也无法告诉 Azure DevOps 在我的实际工作目录(即我的存储库)上运行脚本。$(Build.Repository.LocalPath).

所有这一切都是因为我使用了在我的管道上配置的 python 脚本并使用了我的存储库中的一些模块,并且在导入模块时,出现了 ImportError: No module named my_module 错误。

这就是我所指的。

C:\python27\python.exe C:\agent\my_agent\_work\_temp\ec6523f-efsd....py 正如您在 Azure DevOps 的输出中看到的那样,我管道中的脚本正在 _temp 目录上执行,在该目录上没有要导入的模块并且出现错误。

【问题讨论】:

    标签: azure-devops continuous-integration azure-pipeline-python-script-task


    【解决方案1】:

    我正在使用脚本步骤(不是 python 脚本步骤),它对我来说工作正常(它正在使用导入:

    steps:
    - bash: python3 path/to/my/script_in_the_repo.py xxx yyy
    

    【讨论】:

    • 感谢您的帮助,问题是脚本无法集成到存储库中,因为它是来自其他用户的代码。无论如何,我已经设法通过使用 imp 模块导入具有完整路径的模块来解决这个问题。
    • 我不认为这是一个问题,例如,您始终可以将脚本复制到 repo 根目录。硬编码路径不起作用,因为它可以在托管代理上随时更改
    • 顺便说一句,是否可以从 python 脚本将构建时间变量设置为 Azure DevOps?就像在 TeamCity 中一样。
    • 你应该开始一个新问题,因为这是一个新问题
    猜你喜欢
    • 2021-01-20
    • 2021-03-15
    • 1970-01-01
    • 2019-02-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多