詹金斯版本:2.74
作为构建步骤的一部分,我正在运行一个 python 脚本,并希望访问 Jenkins 构建变量,如 BUILD_ID、BUILD_NUMBER、BUILD_URL 等。
我在脚本中做了以下操作只是为了尝试一下,但没有看到上面列出的任何键:
import os
print os.environ
输出:
{
'USERNAME': 'root',
'LANG': 'en_US.UTF-8',
'TERM': 'xterm-256color',
'SHELL': '/bin/bash',
'XDG_RUNTIME_DIR': '/run/user/1000',
'SUDO_COMMAND': '/bin/su myuser -c python jenkinstest.py',
'SHLVL': '1',
'HOME': '/usr/home1/myuser',
'SUDO_UID': '117',
'SUDO_GID': '125',
'PWD': '/var/lib/jenkins/workspace/script-test',
'LOGNAME': 'myuser',
'USER': 'myuser',
'PATH': '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games',
'MAIL': '/var/mail/myuser',
'SUDO_USER': 'jenkins',
'XDG_SESSION_ID': '6',
'_': '/usr/bin/python'
}
为什么这样?
以及如何从 python 脚本中访问我上面提到的密钥(不使用 Jenkins python/json API)?
使用时sudo
必须注意 option --preserve-env
,如果没有它,切换用户上下文时 env 变量会丢失。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句