【问题标题】:How to execute robot command in jenkins job on mac?如何在 mac 上的 jenkins 作业中执行机器人命令?
【发布时间】:2018-02-22 20:31:51
【问题描述】:

我已经在 mac 上安装了 jenkins,设置一下。 在 Job 配置中,Execute Shell 中,所有其他命令都可以使用,例如 date、pwd 等。

我的脚本位于/Users/abcd/project/ 在项目下,有多个文件夹,没关系。从project folder执行的脚本

执行shell

cd /Users/abcd/project/
 robot --outputdir /Users/some_folder --variablefile variables_folder/variable.py  testsuites_folder/testsuites/test.robot

作业失败,因为找不到机器人命令。相同的命令在终端上运行良好。 我是否缺少任何路径设置?缺少詹金斯配置?

【问题讨论】:

    标签: macos jenkins robotframework


    【解决方案1】:

    听起来您确实缺少路径设置。系统仅在 PATH 变量中查找可执行文件。如果机器人的位置不在您的 PATH 中,则系统无法找到它。

    要么在 PATH 中添加机器人程序的位置,要么在 jenkins 命令中硬编码机器人的完整路径。

    【讨论】:

    • 是的,看起来像。命令不仅适用于詹金斯。我尝试硬编码 /Library/Framweork/../lib/robot --outputdir /Users/some_folder --variablefile variables_folder/variable.py testsuites_folder/testsuites/test.robot ,错误 /Library/Framweork/../lib/robot 是一个目录
    • 是 'path' 还是 'PATH' ,如何在 jenkins job 中设置?
    • @DieselKumar:环境变量是 PATH。如果您对路径进行硬编码,则它需要指向实际的机器人命令,而不是文件夹。从命令行执行which robot 以查看终端中使用的路径。
    • 我是新手。但是,我发现了一些东西。当我在终端上执行 which python 时,它显示“/Library/Frameworks/Python.framework/Versions/2.7/bin/python”。当我在 jenkins 上执行 which python 时,它显示“/usr/bin/python”。如何将其设置为库路径?
    • 我知道这是一个路径问题,但不知道如何在 mac 中做到这一点。如果你能帮助我,将会有很大的帮助。
    【解决方案2】:

    有两种方法(至少)可以解决在 Jenkins 上设置 PATH 的问题:

    1. 在作业配置中添加环境变量 PATH 的定义

    2. 在“执行 shell”或批处理上,不要直接给出操作系统命令,而是指向包含 PATH 定义的 shell 脚本或批处理文件。

    【讨论】:

    • 我正在努力在詹金斯中添加路径。在 mac 终端上,python 会导致“/Library/Frameworks/Python.framework/Versions/2.7/bin/pytho‌​n”,并且机器人命令在终端上可以正常工作。当我通过 jenkins 执行时,哪个 python 导致“/usr/bin/python”并且执行失败,说是导入错误。
    • 因此,您可以添加 PATH=/Library/Frameworks/Python.framework/Versions/2.7/bin:$PATH 这可以在我提出的两个选项上完成。
    【解决方案3】:

    如果您仍然面临 python 问题,那么我强烈建议您使用virtualenv,这有助于为 python 创建自己的 virtualenv,然后您可以安装所需版本的机器人并简单地给出 virtualenv 的路径

    还要确保您可以使用用户“jenkins”而不是 mac 上的主要用户访问 python 和机器人二进制文件,因为 jenkins 使用用户作为“jenkins”。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-12-15
      • 2017-03-14
      • 1970-01-01
      • 2021-10-23
      • 2022-01-08
      • 2020-08-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多