如何通过 Jenkinsfile 激活 conda 环境?

Ros*_*rup 1 jenkins conda

通过终端,它就像 一样简单source activate MyCondaEnv,但是如果我在 Jenkinsfile 中尝试:

sh '. /home/rwardrup/anaconda3/bin/activate MyCondaEnv',
Run Code Online (Sandbox Code Playgroud)

Jenkins 控制台返回:

Running shell script
+ . /home/rwardrup/anaconda3/bin/activate MyCondaEnv
+ [[ -n ]]
/var/lib/jenkins/workspace/testing/features@tmp/durable-bb4a4c30/script.sh: 4: /home/rwardrup/anaconda3/bin/activate: [[: not found
+ [[ -n ]]
/var/lib/jenkins/workspace/testing/features@tmp/durable-bb4a4c30/script.sh: 7: /home/rwardrup/anaconda3/bin/activate: [[: not found
+ echo Only bash and zsh are supported
Only bash and zsh are supported
+ return 1
Run Code Online (Sandbox Code Playgroud)

我尝试在其中添加一点 shebang: sh '$!/bin/bash. /home/rwardrup/anaconda3/bin/activate MyCondaEnv',认为这可能与此有关,然后我得到:

Running shell script
+ /bin/bash. /home/rwardrup/anaconda3/bin/activate MyCondaEnv
/var/lib/jenkins/workspace/testing/features@tmp/durable-2a550d19/script.sh: 2: /var/lib/jenkins/workspace/testing/features@tmp/durable-2a550d19/script.sh: /bin/bash.: not found
Run Code Online (Sandbox Code Playgroud)

有没有办法通过Jenkinsfile激活并使用Conda环境?我找到了一些有关在 Jenkinsfile 中使用 Django venv 的信息,但这在我的情况下不起作用。

izz*_*kil 5

看起来 shebang 的语法不正确,后面缺少换行符。

尝试这个:

sh '''#!/bin/bash
     . /home/rwardrup/anaconda3/bin/activate MyCondaEnv
'''
Run Code Online (Sandbox Code Playgroud)