首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jenkins中的os.environ变量不返回

Jenkins中的os.environ变量不返回
EN

Stack Overflow用户
提问于 2021-07-08 18:13:24
回答 2查看 490关注 0票数 1

我很困惑为什么Jenkins不认识我的环境变量。

在我的Jenkins作业的VAR_TEST屏幕的General部分中设置了一个名为/configure的字符串参数。我已经在Build中包含了env,并在控制台输出中看到VAR_TEST作为一个环境变量列出,但是当我的python代码运行时,None将被返回。

我尝试过.ini、.env和Jenkinsfiles,如相关问题中所建议的那样,但没有运气。我也尝试过几个Jenkins插件,但没有运气。

Python代码:

代码语言:javascript
复制
variable_test = os.getenv['VAR_TEST']

Jenkins控制台:

代码语言:javascript
复制
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中本地运行这段代码时,我只需列出编辑配置中的环境变量.视图,代码运行时没有问题。然而,它并没有在詹金斯运行。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-07-23 17:44:06

我在这里找到了答案:https://stackoverflow.com/a/37396406/6321777

pytest之前设置env

示例:FOO=$FOO pytest -m test_foo

票数 1
EN

Stack Overflow用户

发布于 2021-07-13 17:35:29

在运行脚本之前,需要对变量进行export,以便其他shell可以找到它们

代码语言:javascript
复制
FOO="bar"
export FOO

或者不太安全的执行,但更多的错误安全单行。

(Why not to export variables on the same line you assign them?)

代码语言:javascript
复制
export FOO="bar"
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68306771

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档