我试图在 Jenkins 中创建一个 virtualenv(stage) 并在创建 virtualenv 之前设置所需的环境变量。
stage('create virtualenvironment') {
sh 'export PATH=/usr/local/bin/virtualenv:$PATH'
sh 'export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python'
sh 'export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/bin/virtualenv'
sh 'source /usr/local/bin/virtualenvwrapper.sh'
echo 'createvirtualenvwrapper'
sh 'mkvirtualenv testproject'
}
当我执行此脚本时 - 我收到此消息 -
mkvirtualenv: command not found
当我打印所有上述 env 变量时,什么都没有设置?不确定 sh 命令是否在脚本化管道中按预期工作。
我不是 100% 确定,但我的猜测是,当您执行 a 时,sh 'Some command'
它会执行一个 shell 脚本并完成。
所以发生的事情是,您的每个 sh 命令都被视为一个单独的 shell 脚本,该脚本正在执行命令并且仅在该会话中处于活动状态,并在脚本完成后关闭。
因此,尝试将上述所有命令与单个 sh 命令结合起来mkvirtualenv testproject
,它应该可以工作。
为了可读性runProject.sh
,在这个shell脚本中创建一个新的shell脚本和上面的命令,然后你可以调用
sh runProject.sh
希望能帮助到你 :)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句