Hudson -CI 屏幕保护程序设置

2024-02-20

您好,有没有我可以设置一个屏幕保护程序,其中包含在 hudson 中运行的项目列表,该列表指示项目的状态。假设屏幕保护程序的部分表示项目成功,则显示绿色,如果项目构建失败,则显示红色。

可能屏幕保护程序必须分区到多个项目!


您可以在任何合适的环境中创建一些东西,例如柔性/AS3。可以读取 XML 并生成您需要的屏幕保护程序设计和可执行文件(取决于您的目标平台)

您可以创建一个简单的网页并通过 AJAX 使用 hudson 数据,并以 HTML/CSS 呈现您的显示,这取决于您,但做起来相当简单。

Hudson 将通过其基本 API(本例中为 XML)提供当前的作业列表及其状态颜色

http://hostname:8080/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>

您会对这些节点感兴趣......

   <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>

这将很容易选择并获取所需的颜色(构建状态为红色或蓝色)和作业名称。如果您想要更多信息,我很乐意将一些基本内容放在一起。

更新:非常基本的 Flex 示例。

<?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>

这非常糟糕,但它正在执行您需要的数据检索,Flex 4或Silverlight将为您提供更好的数据驱动列表,使用ItemRenders(Flex4 Spark)或DataTemplates(Silverlight),我认为Flex4路线将需要更少的代码,并且如果它必须是一个屏幕保护程序,将 SWF 转换为屏幕保护程序相当简单,并且有很多工具可用于自动化该过程。

更新 2:稍微好一点的 Flex 4 示例...

我使用 Spark 组件(DataGroup + ItemRenderer)使用 Flex 4 创建了一个更好的视图作为全屏 AIR 应用程序,它在这里http://gist.github.com/623167 http://gist.github.com/623167作为源。需要 Flashbuilder4 或 AIR SDK 来构建它。当然这不是成品!

它看起来像这样...:https://i.stack.imgur.com/8I92U.png https://i.stack.imgur.com/8I92U.png- 监控时http://deadlock.netbeans.org/hudson http://deadlock.netbeans.org/hudson

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Hudson -CI 屏幕保护程序设置 的相关文章

随机推荐

  • 在 PHP 中将所有 HTML 特殊字符转换为 UTF-8?

    有人可以帮助我吗 如何将所有 HTML 特殊字符转换为 UTF 8 例子 Hello nbsp Word P amp H 转换成 Hello Word P H Use html entity decode http www php net
  • 创建一个变量的所有值的列表,该变量由 R 中的另一个变量分组

    我有一个包含两个变量的数据框 如下所示 df lt data frame group c 1 1 1 2 2 3 3 4 type c a b a b c c b a gt df group type 1 1 a 2 1 b 3 1 a 4
  • Xcode 11 GM - 错误:访问构建数据库 - 磁盘 I/O 错误

    仅构建用于发布分发的 通用二进制框架 时遇到以下错误 在调试或发布模式下构建 非通用 方案时 可以使用相同的项目和设置 项目使用 Objective C 和 Xcode 11 GM 11A419c 现在 更新到 Xcode 11 GM Se
  • 连接字符串的“智能”方式?

    我正在寻找一种 智能 方法来用分隔符连接字符串 显然我可以自己编写所有这些代码 所以我想知道是否有一种简单的方法 LINQ 或者其他我不知道的方法 来做到这一点 假设我有一组字符串 可以是任意数量的字符串 string s1 a strin
  • 如何在 Scala 中为 Option[List[_]] 定义 <*>

    这是我之前的后续question https stackoverflow com questions 28850636 example of applicative composition in scala在互联网上找到一个例子 假设我定义
  • 将模块记录器配置为 Flask 应用程序记录器

    我的 Flask 应用程序使用一个模块 该模块获取如下记录器 import logging logger logging getLogger XYZ logger debug stuff 无需修改模块中的任何内容 我可以配置flask 以便
  • 如何使用 Go 的 openpgp 包?

    我一直在寻找文档 http golang org pkg crypto openpgp 对于 Go 来说openpgp包 我想我一定遗漏了一些明显的点 例如 有一个ReadKeyRing有功能 但是没有WriteKeyRing 另一方面 我
  • iOS - 如何创建带有占位符文本的 UITextView? [复制]

    这个问题在这里已经有答案了 可能的重复 UITextView 中的占位符 https stackoverflow com questions 1328638 placeholder in uitextview 我对 iOS 比较陌生 我不知
  • 为什么inet_ntoa中的缓冲区大小是18?

    我查看了的实现inet ntoa like this https code woboq org userspace glibc inet inet ntoa c html and this https android googlesourc
  • Haskell Stack Ghci 测试套件

    我正在尝试使用堆栈在 ghci 中加载我的测试套件并让它加载 QuickCheck 和 hspec 依赖项 我怎样才能做到这一点 我正在使用 Franklinchen 模板 https github com commercialhaskel
  • 从 QML 访问 QList 时 QT/QML C++ 程序崩溃

    我有 2 个用于数据处理的类 CGameList 和 Game 我在 qml 中定义了一个 GameList gamelist 对象来使用它 我有一个列表视图 显示此游戏列表中的游戏 editGames open 如果我单击此列表中的一个条
  • 朱莉娅中固定大小数组的最佳传递维度

    我想编写一个以矩阵作为输入的函数 这是复杂项目中频繁的低级调用 因此使该函数尽可能快可能会产生严重的性能影响 因为速度对我来说非常重要 所以我使用以下类型FixedSizeArrays据我所知 这将节省内存使用 但我经常知道输入矩阵的某些属
  • JMeter 使用什么 Maven 插件? jmeter-maven-plugin 还是 chronos-jmeter-maven-plugin?

    我需要设置由 CI 系统自动触发运行的性能测试 为此 我想使用 JMeter 因为已经存在一些脚本和经验 并且我想将其与 Maven 结合起来 在我对合理插件的研究过程中 我发现存在两个插件 jmeter maven 插件 http wik
  • 无论我输入什么参数,速度函数都不会改变海龟的位置

    我制作的程序有两只海龟 一只是用户 玩家 另一只是玩家 2 它们通过一个名为 checkcollision 的函数运行 该函数确定海龟是否相交 从而将第二只海龟的 x 和 250 250 移动到 250 250 的随机位置y 坐标 然而问题
  • BULK INSERT 失败,行终止符位于最后一行

    我正在将使用 cygwin shell 命令编译的 CSV 导入 MS SQL 2014 使用 BULK INSERT import from D tail csv WITH FIELDTERMINATOR ROWTERMINATOR r
  • 如何使用 QSettings 在 Qt 应用程序中加载设置

    有两种可能的方法 将所有设置加载到某个结构中 按需加载值 哪种方法更好 这取决于您将如何使用您的设置文件 您是否希望允许您的应用程序的用户动态地更改文件中的设置 例如 ini 文件 或者必须通过 GUI 来设置设置 如果您使用某些 GUI
  • d3.js v5 - Promise.all 替换 d3.queue

    我已经使用 d3 js v4 一段时间了 我了解到 Mike Bostock 已将 v5 版本中的 d3 queue 替换为 Promise 原生 JavaScript 对象 我想与您核实一下我编写的这段代码是否正确地 异步 这些 URL
  • Java 中 Date(String s) 的未弃用的完全等效项?

    我有旧代码使用new Date dateString 解析日期字符串 编译代码会产生弃用警告Date java lang String in java util Date has been deprecated javadoc无益地建议我使
  • 带有 lxml 子路径的 XPath 谓词?

    我试图理解发送给我的用于 ACORD XML 表单 保险中的常见格式 的 XPath 他们发给我的 XPath 是 为了简洁而被截断 PersApplicationInfo InsuredOrPrincipal InsuredOrPrinc
  • Hudson -CI 屏幕保护程序设置

    您好 有没有我可以设置一个屏幕保护程序 其中包含在 hudson 中运行的项目列表 该列表指示项目的状态 假设屏幕保护程序的部分表示项目成功 则显示绿色 如果项目构建失败 则显示红色 可能屏幕保护程序必须分区到多个项目 您可以在任何合适的环