Java Hudson-CI屏幕保护程序设置
嗨,有没有什么我可以设置一个屏幕保护程序与项目列表运行在哈德逊,这表明该项目的状态。假设屏幕保护程序的一部分显示成功的项目为绿色,如果项目构建失败则显示红色Java Hudson-CI屏幕保护程序设置,java,continuous-integration,hudson,Java,Continuous Integration,Hudson,嗨,有没有什么我可以设置一个屏幕保护程序与项目列表运行在哈德逊,这表明该项目的状态。假设屏幕保护程序的一部分显示成功的项目为绿色,如果项目构建失败则显示红色 可能屏幕保护程序必须划分为多个项目 您可以在任何合适的环境中创建一些东西,例如Flex/AS3。它可以读取XML,还可以生成所需的屏幕保护程序设计和可执行文件(取决于您的目标平台) 您可以创建一个简单的网页,通过AJAX使用hudson数据,并以HTML/CSS呈现您的显示,这取决于您,但这相当简单 Hudson将通过其基本API(本例中为
可能屏幕保护程序必须划分为多个项目 您可以在任何合适的环境中创建一些东西,例如Flex/AS3。它可以读取XML,还可以生成所需的屏幕保护程序设计和可执行文件(取决于您的目标平台) 您可以创建一个简单的网页,通过AJAX使用hudson数据,并以HTML/CSS呈现您的显示,这取决于您,但这相当简单 Hudson将通过其基本API(本例中为XML)提供当前作业列表及其状态颜色 将产生类似于
<hudson>
<assignedLabel></assignedLabel>
<mode>NORMAL</mode>
<nodeDescription>the master Hudson node</nodeDescription>
<nodeName></nodeName>
<numExecutors>5</numExecutors>
<job>
<name>JobOne</name>
<url>http://hostname:8080/job/JobOne/</url>
<color>blue</color>
</job>
<job>
<name>JobTwo</name>
<url>http://hostname:8080/job/JobTwo/</url>
<color>blue</color>
</job>
<job>
<name>JobThree</name>
<url>http://hostname:8080/job/JobThree/</url>
<color>blue</color>
</job>
<overallLoad></overallLoad>
<primaryView>
<name>All</name>
<url>http://hostname:8080/</url>
</primaryView>
<slaveAgentPort>0</slaveAgentPort>
<useCrumbs>false</useCrumbs>
<useSecurity>true</useSecurity>
<view>
<name>All</name>
<url>http://hostname:8080/</url>
</view>
<view>
<name>Dashboard</name>
<url>http://hostname:8080/view/Dashboard/</url>
</view>
</hudson>
作为来源。构建它需要Flashbuilder4或AIR SDK。这当然不是成品
看起来像这样…:-当它监视时,团队构建屏幕将完全满足您的需要,但目前仅支持TFS 2008/2010。幸运的是,我目前正在开发版本1.4.0,其中包括对Hudson的支持。如果您感兴趣,请关注最新的源代码:。基本支持已签入,但尚未打包到发行版中
您可以下载源代码并自行构建,该项目称为TeamBuildScreen.DesktopHudson
有关该项目的更多详细信息,请访问:为哈德逊安装;这应该可以提供您想要的功能。您可以尝试构建类似Buildron的散热器。它也支持Hudson,这是一种非常酷的方式,可以让整个团队不断更新构建状态
除了3D环境外,它还有声音和一个iOS和Android手机应用程序,你可以在其中与之交互。@slomojo:有没有内置的插件,比如说为你的电脑准备一个屏幕保护程序us@srinannapa-没有,但是Flex示例应该对您有所帮助,我认为这是最简单的方法,而且编译器是免费的。第二种最好的方法是将结果呈现为HTML。@slomojo:上面的xml文件的扩展名是什么。我们需要什么来运行上面的东西?@srinanapa-我建议您首先能够使用带有JavaScript AJAX调用的Hudson服务器api/xml提要(我建议使用JQuery)。。。因此,您可以构建Hudson作业状态的HTML视图。如果你不了解Flex,网上有很多资源,你可以找到如何构建基本应用程序,我的更新中的文件应该保存为.mxml文件-下载FlashBuilder4试用版,启动一个新的Flex应用程序项目,并将代码粘贴到一个新的mxml应用程序文件中并构建它。FlashBuilder还将帮助您构建一个更好的基于ItemRenderer的视图。有足够多的插件为您提供此功能,但不是作为屏幕保护程序。我建议你禁用屏幕保护程序,一直打开一页。为什么要使用屏幕保护程序?那么只有空闲的人才能看到它?它是所有开发人员都可以看到的监视器:)开发人员观看hudson的正确方法是为他们的IDE使用合适的插件。。移除Hudson服务器的显示器-节省一些能源。如果在X分钟后屏幕自动锁定,屏幕保护程序非常有用。大多数情况下,让显示器始终显示结果,并禁用屏幕保护程序以使其更简单
<hudson>
<assignedLabel></assignedLabel>
<mode>NORMAL</mode>
<nodeDescription>the master Hudson node</nodeDescription>
<nodeName></nodeName>
<numExecutors>5</numExecutors>
<job>
<name>JobOne</name>
<url>http://hostname:8080/job/JobOne/</url>
<color>blue</color>
</job>
<job>
<name>JobTwo</name>
<url>http://hostname:8080/job/JobTwo/</url>
<color>blue</color>
</job>
<job>
<name>JobThree</name>
<url>http://hostname:8080/job/JobThree/</url>
<color>blue</color>
</job>
<overallLoad></overallLoad>
<primaryView>
<name>All</name>
<url>http://hostname:8080/</url>
</primaryView>
<slaveAgentPort>0</slaveAgentPort>
<useCrumbs>false</useCrumbs>
<useSecurity>true</useSecurity>
<view>
<name>All</name>
<url>http://hostname:8080/</url>
</view>
<view>
<name>Dashboard</name>
<url>http://hostname:8080/view/Dashboard/</url>
</view>
</hudson>
<job>
<name>JobOne</name>
<url>http://hostname:8080/job/JobOne/</url>
<color>blue</color>
</job>
<job>
<name>JobTwo</name>
<url>http://hostname:8080/job/JobTwo/</url>
<color>blue</color>
</job>
<job>
<name>JobThree</name>
<url>http://hostname:8080/job/JobThree/</url>
<color>blue</color>
</job>
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
xmlns="*" creationComplete="start()">
<!-- The HTTPService request -->
<mx:HTTPService id="jobsRequest" url="http://localhost:8080/api/xml" useProxy="false" method="POST">
<mx:request xmlns="">
</mx:request>
</mx:HTTPService>
<!-- basic timer to trigger the data request from Hudson -->
<mx:Script>
<![CDATA[
import flash.utils.Timer;
import flash.events.TimerEvent;
private var t:Timer = new Timer(5000, 0); // repeat every 5 seconds;
private function start():void {
t.addEventListener(TimerEvent.TIMER, getHudsonStatus);
t.start();
}
private function getHudsonStatus(e:TimerEvent):void {
jobsRequest.send();
}
]]>
</mx:Script>
<!-- the view -->
<mx:DataGrid id="hudsonJobsDataGrid" x="22" y="128" dataProvider="{jobsRequest.lastResult.hudson.job}">
<mx:columns>
<mx:DataGridColumn headerText="Name" dataField="status"/>
<mx:DataGridColumn headerText="Status" dataField="color"/>
</mx:columns>
</mx:DataGrid>
</mx:Application>