0

我的目标是在 Unix 环境中编写一个 Perl 脚本,该脚本通过传递 Jenkins 主服务器的 URL 和其他参数来触发 Jenkins 构建/作业。怎么可能做到这一点?

以下是我的一些详细问题:

  • 我需要哪些 Perl 库?
  • 需要 Perl 中的哪些函数?
  • 如何从脚本将其他构建参数传递给 Jenkins?
  • 我如何从詹金斯那里得到结果?
4

1 回答 1

3

您通常需要LWP模块,可能还需要它的子模块。这是一篇关于如何使用它的文章:

我通常会说“当你可以使用 Perl 解决方案时不要使用system”。

但是,在这种情况下我会例外,因为只需对wget命令进行一次系统调用就更容易了:

system qq(wget -q $build_trigger_url);

如何从脚本将其他构建参数传递给 Jenkins?

将参数传递给 Jenkins 构建将涉及通过修改%ENV哈希设置环境变量,或者通过修改 URL 以包含这些参数(通过 GET 请求)。不同的插件和配置需要不同的方式来做到这一点。

如果你的构建机器是 Windows 系统,你可以下载wget命令。

我如何从詹金斯那里得到结果?

Jenkins 有一个内置的 RESTful API。只需单击每个页面底部的REST API链接。您可以使用REST::Client模块进行 REST 调用,但也可以只使用system对的调用wget

RESTful API 将以 JSON 或 XML 格式返回数据。您应该获得一个 JSON 或 XML 模块来帮助读取这些数据。有时,RESTful API 会返回纯文本,例如获取最新的内部版本号或时间戳。

于 2013-04-30T16:08:18.840 回答