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>