我很困惑为什么Jenkins不认识我的环境变量。
在我的Jenkins作业的VAR_TEST屏幕的General部分中设置了一个名为/configure的字符串参数。我已经在Build中包含了env,并在控制台输出中看到VAR_TEST作为一个环境变量列出,但是当我的python代码运行时,None将被返回。
我尝试过.ini、.env和Jenkinsfiles,如相关问题中所建议的那样,但没有运气。我也尝试过几个Jenkins插件,但没有运气。
Python代码:
variable_test = os.getenv['VAR_TEST']Jenkins控制台:
JENKINS_HOME=/opt/bitnami/apps/jenkins/jenkins_home
VAR_TEST=1,164,169
MAIL=/var/mail/tomcat
SASL_CONF_PATH=/opt/bitnami/common/etc
LANGUAGE=en_US.UTF-8
GIT_TEMPLATE_DIR=/opt/bitnami/git/share/git-core/templates
USER=tomcat
CI=true
...
{blah blah blah}
...
WORKSPACE_TMP=/opt/bitnami/apps/jenkins/jenkins_home/workspace/MY_PROJECT@tmp
+ sudo pytest -m login --headless --junit-xml=report.xml --html=index.html --maximize-window --save-screenshot --env=qa
============================= test session starts ==============================
platform linux -- Python 3.9.0, pytest-6.2.3, py-1.10.0, pluggy-0.13.1
rootdir: /opt/bitnami/apps/jenkins/jenkins_home/workspace/MY_PROJECT
plugins: xdist-2.2.1, forked-1.3.0, seleniumbase-1.61.0, ordering-0.6, html-2.0.1, metadata-1.11.0, rerunfailures-9.1.1
collected 108 items / 2 errors / 81 deselected / 25 selected
==================================== ERRORS ====================================
_ ERROR collecting my_stuff/tests/test_stuff/test_env_variables_so.py _
my_stuff/tests/test_stuff/test_env_variables_so.py:21: in <module>
var_test = os.getenv('VAR_TEST').split(",")
E AttributeError: 'NoneType' object has no attribute 'split'当我在PyCharm中本地运行这段代码时,我只需列出编辑配置中的环境变量.视图,代码运行时没有问题。然而,它并没有在詹金斯运行。
发布于 2021-07-23 17:44:06
发布于 2021-07-13 17:35:29
在运行脚本之前,需要对变量进行export,以便其他shell可以找到它们
FOO="bar"
export FOO或者不太安全的执行,但更多的错误安全单行。
(Why not to export variables on the same line you assign them?)
export FOO="bar"https://stackoverflow.com/questions/68306771
复制相似问题