繁体   English   中英

用于在Jenkins中创建新作业并对其进行配置的Perl脚本

[英]Perl script for creating a new job and configuring it in Jenkins

我需要一个Perl脚本,通过它可以创建新作业并通过在脚本中提供参数来对其进行配置。 我已经通过脚本成功登录了詹金斯。 如何考虑登录页面的响应并向服务器提出新请求?

因为通过使用

$request->url("$jenkins_url"); # 1st time for login

$request->url("$jenkins_url/view/All/newJob/"); # 2nd time for new job
$response = $browser->request($request);

多次(一次登录和第二次创建新作业),则第二次出现404错误。

我应该考虑使用cookie吗? 在这种情况下,我该怎么办?

我认为您需要查看Jenkins的CLI文档

CLI是Jenkins的标准配置,可从以下URL获得:

<jenkins_url>/cli/

您可以通过命令行工具访问Jenkins中的各种功能。 有关此功能的更多详细信息,请参见Wiki。 首先,下载jenkins-cli.jar,并按如下所示运行它:

 java -jar jenkins-cli.jar -s http://localhost:8080/ help 

具体来说,您需要下载JAR文件(从链接)并使用系统命令将Perl连接到Jenkins:

 <jenkins_url>/cli/command/create-job

如果您将浏览器指向该浏览器,它将向您提供说明。

java -jar jenkins-cli.jar -s http:// localhost:8080 /创建工作名称
通过读取stdin作为配置XML文件来创建新作业。

 NAME : Name of the job to create 

运行Groovy脚本的工作示例

use strict; use warnings;

my $cmd = 'java -jar jenkins-cli.jar -s http://localhost:8080/jenkins groovy =';

my $groovy = "
['a','b','c'].each{
  println it
}
";

open F, " |  $cmd" || die "cannot open pipe: $!\n";

print F $groovy;
close F;

'='等待Groovy在STDIN上发送。 随打印一起发送。

关闭文件(F)将发送EOF,因此CLI将处理该脚本。

我的Jenkins服务器在localhost:8080/jenkins

如果您需要更多控制(例如收集输出),则可以使用|- ,如双向处理其他过程中所述

通过使用jenkins-CLI,您可以配置新作业。 但是为此,您需要一个XML文件。 没有XML文件,就无法创建新作业。

Perl代码可在Jenkins中创建新工作:

system('java -jar jenkins-cli.jar -s http://localhost:8080/ create-job job_name < "path to xml file"');

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM