【问题标题】:How to trigger downstream Jenkins builds when using pre-shell steps使用 pre-shell 步骤时如何触发下游 Jenkins 构建
【发布时间】:2015-09-10 10:27:53
【问题描述】:

我有一个 Maven Jenkins 作业,我想从另一个作业触发 - 作为下游作业 - 并且能够手动启动该作业。

手动触发工作正常,但我注意到当作业从另一个作业触发时,很多环境都会丢失。基本命令无法再执行。

例如 Maven/Jenkins 出于某种目的使用 uname。然后日志显示

/usr/local/maven-3.2.5/bin/mvn: 1: /usr/local/maven-3.2.5/bin/mvn: uname: not found

Ruby 也是如此。手动触发时,作业运行良好。当从另一个作业触发时,Ruby 不再存在。

我没想到 Jenkins 的功能会因手动或自动触发而有很大差异。

【问题讨论】:

    标签: ruby shell maven jenkins


    【解决方案1】:

    检查哪个用户为您运行 Jenkins。这是在 *nix 机器上吗?设置 bashrc/bash_profile 等为 Jenkins 功能用户设置环境。添加一些路径到 env PATH 以便能够使用工具(Ruby 等)。

    Managing Jenkins functional user 在这里进行了彻底的描述。 Even more.

    【讨论】:

    • 这是由我使用path 作为变量引起的。这会导致系统path 被更改。没想到Jenkins是用普通的环境变量来传参数的。
    • 我猜你可以认为我的回答有帮助,那么? ;)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-08-27
    • 1970-01-01
    • 2017-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-12
    • 1970-01-01
    相关资源
    最近更新 更多