代码之家  ›  专栏  ›  技术社区  ›  tony_tiger

如何激活詹金斯的康达环境

  •  1
  • tony_tiger  · 技术社区  · 7 年前

    我看到了 this 问题,但我正在运行Rhel 7.3,而不是Windows。

    有了这个简单的詹金斯壳牌脚本:

    #!/bin/bash
    echo $PATH
    echo $HOME
    source /app/local/anaconda3/bin/activate py35_myenv
    

    我要失败了:

    $ /bin/bash /tmp/jenkins5945453203311093000.sh
    /sbin:/usr/sbin:/bin:/usr/bin:/opt/teradata/client/15.10/bin:/app/local/anaconda3/bin:/opt/teradata/client/15.10/bin:/app/local/anaconda3/bin
    /home/jenkins
    /tmp/jenkins5945453203311093000.sh: line 4: /app/local/anaconda3/bin/activate: Permission denied
    

    我试过了 chmod /app/local/anaconda3/bin/activate 文件到664(原来是660),但没有帮助。也试过了 chmod -R o+rx /app/local/anaconda3/envs/py35_myenv (这里的可执行文件原来是770,现在是775)。这也没有帮助。我之所以尝试,是因为我得到了“拒绝许可”的投诉和 jenkins 此计算机上的用户不属于这些蟒蛇文件所在的组。

    我试图添加 #!/bin/bash 根据我的建议,在我的詹金斯剧本的开头 here 但那没有帮助。

    普通的,非詹金斯用户,可以激活这个康达环境刚刚好。我正试图让Jenkins在这个环境中运行自动化脚本,但是我不能在Jenkins的工作中激活它。

    编辑:如果我不提供 activate ,我收到“activate:no such file or directory”投诉。

    编辑:原因 激活 被给予 化学需氧量 第664页(不可执行)在 this answer . 激活 必须是不可执行的并通过运行 source 所以它可以改变环境。

    詹金斯版本:2.129-1.1

    1 回复  |  直到 7 年前
        1
  •  1
  •   Oresztesz    7 年前

    chmod 664不授予您执行权限。您可以在 化学需氧量 命令要授予或撤消哪些权限。它的可读性更强。尝试将脚本更改为以下内容:

    #!/bin/bash
    echo $PATH
    echo $HOME
    /app/local/anaconda3/bin/activate py35_myenv
    chmod ug+x /app/local/anaconda3/bin/activate
    

    你可以用 https://chmodcommand.com 为了验证它,命令将按您的期望执行。

    此外,如果 jenkins 用户无权访问脚本的某个父文件夹。尝试对父文件夹也设置相同的权限。以下命令来自注释中的代码段:

    sudo find . -perm 770 -exec chmod o+rx {}; \
    sudo find . -perm 750 -exec chmod o+rx {}; \
    sudo find . -perm 660 -exec chmod o+r {}; \
    sudo find . -perm 640 -exec chmod o+r {}