1

我正在开发自己的 hudson 插件,但找不到真正全面的文档。

如何连接到工件插件以获取工件列表?artifactory 插件安装在 hudson 中,但我不知道如何实例化它/从我自己的插件连接到它。

我的插件将特定版本部署到我们的 webstart 服务器。这包括通过 HTTP 从 artifactory 下载工件,创建 version.xml 和 *.jnlp 文件并使用 SCP 将这三个文件上传到网络服务器。对于这个插件的配置,我需要一个来自 artifactory 的特定项目的所有版本的列表。

提前致谢。

4

1 回答 1

3

如果您想使用另一个插件的模型和实用程序类,那么这只是一个依赖该插件(编译方式)并确保安装了依赖插件以便您可以在运行时引用这些类的过程。

如果您想使用构建器、操作或包装器等实体,您可能需要使用 Hudson 的工具;我不太确定它有哪些设施,但 Jenkins 的hudson.model.AbstractBuildhudson.model.AbstractProject(和其他)对象具有如下方法:

  • hudson.model.Actionable#getActions
  • AbstractProject#getPublishersList

这将返回这些实体(假设它们已在相关项目中配置)。

除了这种方法之外,还有许多方法可以使用 Artifactory 的 REST API 来解决您的问题:

  • 如果工件包含在您已知的某个位置的 Artifactory 中,您可以执行文件列表查询以显示该目录的内容。

  • 如果您想获取特定 Hudson 构建的生成工件,并假设您使用 Hudson 插件来部署 Build Info,您可以使用Build Info 资源请求 Build Info 对象;利用此对象中列出的已生成工件的校验和,您可以执行工件校验和查询以查明这些工件是否存在以及在 Artifactory 中的位置。

  • 如果您不知道具体的构建名称和编号或位置,您可以使用任何搜索工具根据不同的详细信息定位工件;GAVC 或 XPath 搜索器最有可能在您的情况下提供帮助。

于 2012-02-27T12:19:33.537 回答