当前位置: 首页 > 面试题库 >

如何配置Hudson作业以使用特定的JDK?

鲜于阳
2023-03-14
问题内容

我有一个在Hudson奴隶上运行的项目。我希望其中之一在Java6而不是默认值(我的环境中为Java5)下运行Ant。

在项目配置视图中,我希望找到以下两者之一:

  • 一个显式选项,允许我设置一个自定义JDK位置以用于该项目。
  • 一种为该项目设置自定义环境变量的方法,这将允许我将JAVA_HOME设置为JDK6位置。这将使Ant能够根据需要在Java6上运行。

有什么办法可以做到以上任一?如果这些功能之一可用,我看不到如何使用它。我在哈德逊1.285上运行。

如果可能的话,我宁愿避免使用“执行shell”操作而不是“调用Ant”操作:我的从服务器在z /
OS上,并且Hudson似乎在此平台上未正确创建临时shell脚本(可能是编码问题) )。


问题答案:

事实证明,如果将构建参数化,则添加的任何字符串参数都将成为环境变量。通过这种方法,可以为构建设置任何环境变量,包括JAVA_HOME,该变量由Ant拾取。

所以对我来说最好的解决方案是:

  1. 在作业配置页面中,勾选“此构建已参数化”
  2. 添加一个名为JAVA_HOME的新String参数,并将默认值设置为JDK位置

构建字符串参数成为环境变量并不明显,但是一旦您知道它们确实是环境变量,就可以通过这种方式轻松设置JDK。

Hudson邮件列表上的开发人员推荐了另一种使用主JDK配置和节点配置中的替代方法,但是对我来说,仅设置JAVA_HOME env var似乎更容易。



 类似资料:
  • 问题内容: 我的hudson CI上有大约100个工作,可以批量删除吗? 问题答案: 恕我直言,最简单的方法是使用脚本。去 通过运行以下命令删除作业: 这样,您就可以轻松使用条件筛选出要删除的作业。 对于牛仔裤 当前版本(2.x): 旧版本:

  • 我的使用案例: 作业 A 设置为在星期一到星期五的 18:00 运行。 作业 B 依赖于作业 A 是否成功,但应仅在周一至周五的 06:00 运行。(周一早上的跑步将取决于周五晚上的跑步)。我更喜欢设定的时间,而不是工作之间的延迟。 在任何给定的早晨,如果我看到作业A失败(因此作业B从未运行),我希望能够运行(修复)作业A,然后立即触发作业B。 到目前为止,我发现的只是这个用例的一部分。我修改了管

  • 我正在试用Quartz调度器,并使用Maven使其与Spring一起工作。 我需要做的是将Quartz配置为存储作业,以便在计划的时间内执行作业。据我所知,石英中有两种类型的触发器,Simple和Cron。我还发现石英中有一种叫做JobStore的东西。我在某种程度上对它进行了配置。 有人能给我一个关于如何设置Quartz JobStore的好的参考资料吗?帮了大忙,谢谢。

  • 我的Spring批处理应用程序有多个作业,但只有一个作业使用一些特定的Spring Boot自动配置特性: 使用spring-data-jpa自动配置为业务事务配置数据库的作业(不是Spring批处理管理) 根本不使用数据库的作业 我把这两个工作打包在同一个单位,因为从商业角度来看是有意义的。两个作业将一起工作,一个作业的输出将是另一个作业的输入。 运行第二个作业时是否可以禁用特定于数据库的自动配

  • 我试图设置一个作业在一个用户使用Quartz的时区的特定时间的单一执行。现在,开箱即用,告诉调度器执行时区中的任何内容的唯一方法是通过。对于Coors,我可能会将datetime转换为cron表达式,然后在第一次成功执行后立即停止触发器,但这有点难闻。 谢谢,

  • 我正在重构一个传统的基于Spring Batch XML的应用程序,以使用注释配置。我想了解如何将以下XML文件转换为基于注释的配置,并保持相同的关注分离。 为了便于讨论,这里有一个简单的例子。 job-config-1.xml job-config-2.xml job-config-3。xml 我想从XML配置转移到Java配置。我想为每个XML创建3个作业配置类。比如说JobConfig1。j