【问题标题】:Environment variables in JenkinsJenkins 中的环境变量
【发布时间】:2014-01-15 06:56:48
【问题描述】:

Jenkins下的环境变量(manage jenkins -> system information)从哪里来?

我检查了/etc/init.d/tomcat5/usr/bin/dtomcat5/usr/bin/tomcat5/etc/sysconfig/tomcat5/etc/profile,但没有看到任何此类变量,特别是与 Oracle 相关的变量(BaseHomeLd_libpath 等)。 Tomcat 的 bashrc 有一些与 Oracle 相关的变量,我已将其注释掉,但我在 jenkins 系统信息页面中仍然看到相同的变量。有什么路线吗?

【问题讨论】:

    标签: jenkins


    【解决方案1】:

    Jenkins中显示的环境变量(管理Jenkins ->系统信息)是从系统继承而来的(即继承的环境变量)

    如果您在 shell 中运行 env 命令,您应该会看到与 Jenkins 显示的相同的环境变量。

    这些变量要么由外壳/系统设置,要么由您在~/.bashrc~/.bash_profile 中设置。

    作业执行时还有环境变量set by Jenkins,但系统信息中不显示。

    【讨论】:

    • 我已经为 jenkins 账户设置了环境变量,也为两个账户的 ~/.bashrc、~/.bash_profile 中的 TZ 变量设置了 root 账户。两个帐户中的 env 命令都列出了 TZ var 设置。但是 Jenkins /systemInfo 页面没有显示 TZ 并且我依赖它的单元测试失败了。有什么问题?
    • @FarrukhNajmi 尝试在/etc/environment 中将环境变量设置为系统范围,或者获取您在构建脚本开头添加自己的变量的文件。另见:stackoverflow.com/questions/5818403/…
    • 如果您在 Windows 上使用 Jenkins 并且它作为系统服务运行,请确保将环境变量设置为系统范围的变量,而不是每个用户,否则 Jenkins 将无法见他们。
    • 感谢您提供 Jenkins 变量链接,您知道是否还有其他地方定义了更多变量?我找不到启动构建的 Jenkins 用户的变量。任何帮助表示赞赏!
    • 显然只能通过这个插件获得:wiki.jenkins-ci.org/display/JENKINS/Build+User+Vars+Plugin
    【解决方案2】:

    最终对我有用的是以下步骤:

    1. 配置Environment Injector Plugin
    2. 转到/job/<project>/configure screen
    3. 在“构建环境”部分选中“将环境变量注入构建过程
    4. 在“属性内容”中指定:TZ=America/New_York

    【讨论】:

    • 我正在尝试设置一个具有动态值的变量。您知道如何在第 4 步中运行脚本/批处理命令来设置值吗?
    • EnvInject 插件允许您通过引用脚本文件(请参阅脚本文件路径)或包含其内容(请参阅脚本内容)来使用 shell 脚本准备环境。我将不胜感激,并将其标记为正确答案。谢谢。
    • 我这样做了,但是如何在 bash 脚本中访问 TZ? loc=${TZ}loc=${env.TZ} 不起作用
    【解决方案3】:

    又快又脏的方式,你可以从下面的链接查看可用的环境变量。

    http://localhost:8080/env-vars.html/

    只需将 localhost 替换为您的 Jenkins 主机名,如果不同的话

    【讨论】:

    • 所提到的 URL 直接在浏览器地址栏中按预期工作(复制/粘贴),但通过 Jenkins 本身的 GUI,引用该 URL 的链接在哪个部分以及在哪里?跨度>
    猜你喜欢
    • 1970-01-01
    • 2017-12-06
    • 1970-01-01
    • 2017-08-09
    • 1970-01-01
    • 1970-01-01
    • 2021-04-26
    • 2018-12-27
    • 1970-01-01
    相关资源
    最近更新 更多