【问题标题】:maven plugin detect hudsonmaven插件检测哈德森
【发布时间】:2013-04-11 14:39:40
【问题描述】:

我正在为 maven 编写一个插件,我想知道它是否在 hudson 上运行。然后我想知道哪个用户触发了构建。

是否有提供对此访问权限的 API (@component)?

【问题讨论】:

  • 您想知道在 hudson 上运行构建(包括模块)是否真的有效,或者您想在您的插件在 hudson 上执行时得到通知?我很好奇你打算用这个做什么。
  • 插件应该找出,如果它是从 hudson 调用的。它应该能够向 hudson 询问有关当前正在运行的构建的一些问题(例如构建触发器)
  • 一个肮脏的解决方法是解析 hudson 的 api wiki.hudson-ci.org/display/HUDSON/Remote+access+API
  • 通常在 Hudson 中运行期间存在一些环境变量,例如 HUDSON_ID 等,您可以使用这些变量来检测是否在 Hudson 中运行,但是为什么插件需要知道它是否在其中运行听起来有点奇怪哈德逊?

标签: maven hudson maven-plugin


【解决方案1】:

通常在 Hudson 中运行期间存在一些环境变量,例如 JOB_ID 等,您可以使用它们来检测是否在 Hudson 中运行。

【讨论】:

  • 我会稍微改变一下我的问题,因为仅仅知道在某个地方运行 hudson 是不够的。我想和他谈谈。
  • 比使用已经提到的REST API
  • 如果插件已经是构建的一部分,那么一定有一个直接的 API。
  • 您似乎误解了与 Hudson/Jenkins 的关系。 Jenkins/Hudson 启动了一个构建,它分叉了一个进程,这意味着在构建期间没有直接的 api 可以与 Jenkins/Hudson 对话。另一个问题是,如果您在 Maven 构建期间与 Jenkins/Hudson 交谈,您希望实现什么目标?也许您可以详细说明您的问题,以便更好地了解您喜欢做什么。
  • 我想访问 API 提供的相同信息。但我认为,如果您已经是流程的一部分,那么这不是使用 API 的干净方式。特别是因为 API 并不总是可用。
猜你喜欢
  • 1970-01-01
  • 2011-04-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-15
  • 1970-01-01
相关资源
最近更新 更多