增加了监视外部执行作业的结果的功能。
必威国际有限公司Jenkins对于监控进程的非交互执行非常有用,比如cron任务、procmail、inetd启动的进程。通常这些任务是完全不受监控的(这让你很难注意到什么时候出了问题),或者他们不管成功或失败都在不停地发送邮件(这导致了同样的情况,你很快就会开始忽视他们)。使用Jenk必威国际有限公司ins可以用很少的开销监视大量此类任务。
建立一个项目
创建一个新作业,并选择“监视外部作业”作为作业类型。
监控执行
对于Debian / Ubuntu:
显然,如果你想从其他机器上运行作业,你应该必威国际有限公司用FQDN替换本地主机。export 必威国际有限公司JENKINS_HOME=http://@ localhost:8080/java -jar /usr/share/jenkins/external-job-monitor/java/jenkins-core-*.jar "external-build-job-name" command-to-run java -jar /usr/share/jenkins/external-job-monitor/java/jenkins-core-*.jar "external-build-test" ls -l
一旦你建立了一个项目,你可以通过运行如下命令来监视项目的执行:
$ export 必威国际有限公司JENKINS_HOME=http://user:pw@myserver.acme.org/path/to/jenkins/ $ java -jar /path/to/WEB-INF/lib/jenkins-core-*.jar "job name"
Windows:
> set 必威国际有限公司JENKINS_HOME=http://user:pw@myserver.acme.org/path/to/jenkins/ > java -jar \path\to\WEB-INF\lib\jenkins-core-*.jar "job name" cmd.exe /c
如果您的web服务器提取必威国际有限公司jenkins.war
当它部署Jenkins时,您可以使用路径直必威国际有限公司接到web - inf / lib
目录和所有其他所需的jar将在那里找到。否则,您可以从war文件中提取这些文件:
必威国际有限公司Jenkins-core -*.jar remoting-*.jar ant-1.7.0.jar commons-io-1.4jar commons-lang-2.4.jar
所有的都是在web - inf / lib
war文件中的路径。只要它们都在同一个目录中,则java jar /道路/ / jen必威国际有限公司kins-core - * . jar
命令将找到其他所需的jar。
- 注:Jenkins的旧版本(1.324之前)也需必威国际有限公司要
winstone.jar
为了运行这个命令。这个jar位于war文件的顶层目录中,必须手动添加到类路径中(使用类路径
或- cp
)。
JENK必威国际有限公司INS_HOME变量用于定位Jenkins正在运行的服务器,因此必须设置这个变量。除非你的Jenkins工必威国际有限公司作对访客用户有构建许可,包括用户名:password@
URL的一部分,如上面的示例所示。
- 注:在Jenkins 1.324中添加了通过用户名认证:在JENKINS_HOME中的密码;必威国际有限公司对于以前的版本,要么授予作业上的匿名构建权限,要么使用
旋度
将XML发布给Jenkins(必威国际有限公司见下面)。
你可以复制必威国际有限公司jenkins-core - * . jar
如果您想监视在另一台机器上运行的作业,则需要将其他jar文件发送到其他机器。
程序的Stdout和stderr将被记录,非零退出码将被视为失败。
监控cron作业
要监视cron作业,只需从cron脚本运行上述设置。为了避免接收来自cron守护进程的电子邮件,您可能需要这样写:
必威国际有限公司导出JENKINS_HOME=$JENKINS_HOME;Java -jar 必威国际有限公司jenkins-core-*.jar "backup" backup.sh 2>&1 > /dev/null
注意,您还可以通过使用必威国际有限公司自由式软件项目,它还允许您在计划执行之外手动执行作业。
以编程方式提交运行
上面的命令通过向HTTP发送XML来提交执行及其结果。这意味着您可以提交来自任何程序的执行记录,只要您遵循相同的XML格式。
格式说明如下:
<运行> <日志编码= " hexBinary " >…十六进制二进制编码控制台输出…结果日志< / > < >…整数,错误码。 …执行此运行所需的毫秒数…< /持续时间> < displayName >…要显示的名称而不是构建号…< / displayName > <描述>…构建的描述…< /描述>运行> < /
的持续时间
元素是可选的,从1.429开始displayName
和描述
也可以随意添加,这三个元素可以以任何顺序出现,但必须出现在日志和结果之后。控制台输出是用hexBinary编码的,因此可以传入XML中不允许的任何控制字符。
需要将上述XML发送到http://myhost/必威国际有限公司jenkins/job/_jobName_/postBuildResult
.
使用curl的一个简单示例是(不使用实际数据;序列4142430一个
编码的控制台输出美国广播公司
加上一个尾随换行符号):
$ curl -X POST -d '<运行>4142430A 0 2000 ' \ http://user:pass@myhost/j必威国际有限公司enkins/job/_jobName_/postBuildResult
提交每个CLI的运行
最简单的选择是每个CLI/ssh命令都可以提交执行。gzip的日志文件可以通过管道传输:
$ cat result.log.gz | ssh 必威国际有限公司jenkins set-external-build-result——display 7d552c4ba_Linux_tb21——job buildbot——result 1 -b——duration 42——log -
有时需要构建号,因为调用程序可能需要将URL放到提交的构建中。上面的CLI命令返回新的构建号。可以从Java应用程序以编程方式调用上面的命令。你可以找到它的样本在这里.
更新日志
1.7版(2017年1月6日)
- 给予适当的权限,允许非管理员配置或删除作业。
- 日本本地化更新。
1.6版(2016年7月26日)
- 必威国际有限公司詹金斯- 36875创建新作业时屏幕空白
- 跟进的必威国际有限公司詹金斯- 35284
1.5版(2016年7月12日)
- 必威国际有限公司詹金斯- 35284更新到新的父POM,并修复了findbugs警告。
- 必威国际有限公司詹金斯- 31162项目分类。
1.4版(2014年11月18日)
- 更新项标签以匹配新的面向名词的约定。
1.3版(2014年11月14日)
- 细化了检查Build权限以涵盖CLI命令的地方。
1.2版(2013年8月29日)
- 新的CLI命令(拉#5)
- 必威国际有限公司詹金斯- 19377日志旋转失败的解决方案
- 肺水肿修复
- 翻译