Hudson -CI Настройка заставки - PullRequest
7 голосов
/ 12 октября 2010

HI, есть ли у меня возможность настроить заставку со списком проектов, запущенных в hudson, в которых указано состояние проекта. Скажем, часть экранной заставки показывает зеленый цвет для успешных проектов и красный, если проект не удалось построить.

Вероятно, заставка должна быть разделена на несколько проектов !!!

Ответы [ 4 ]

8 голосов
/ 12 октября 2010

Вы можете создать что-либо в любой подходящей среде, например, Flex / AS3. который может читать XML, а также генерировать необходимый вам дизайн экрана и исполняемый файл (в зависимости от вашей целевой платформы)

Вы можете просто создать простую веб-страницу и использовать данные hudson через AJAX и визуализировать ваше отображение в HTML / CSS, это ваше дело, но это довольно тривиально.

Хадсон предоставит текущий список заданий и цвет их статуса через базовый 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 ...

Я создал более приятное представление в виде полноэкранного приложения AIR с Flex 4 с использованием компонентов Spark (DataGroup + ItemRenderer), здесь он находится http://gist.github.com/623167 в качестве источника. Для сборки требуется Flashbuilder4 или AIR SDK. Конечно, это не готовый продукт!

Похоже на это ...: http://i.stack.imgur.com/8I92U.png - когда он наблюдал http://deadlock.netbeans.org/hudson

2 голосов
/ 07 февраля 2011

Установите плагин Radiator View для Hudson;это должно обеспечить необходимую вам функциональность.

1 голос
/ 28 марта 2013

Вы можете попробовать построить радиатор как Buildron. Он также поддерживает Hudson и является отличным способом информирования всей команды о статусе сборок.

enter image description here

Помимо 3D-среды, он имеет звук и мобильное приложение для iOS и Android, где вы можете взаимодействовать с ним.

0 голосов
/ 07 февраля 2011

Team Build Screen будет делать именно то, что вам нужно, но в настоящее время поддерживает только TFS 2008/2010. К счастью, в настоящее время я работаю над версией 1.4.0, которая включает поддержку Hudson. Если вам интересно, следите за последним исходным кодом: http://teambuildscreen.codeplex.com/SourceControl/list/changesets. Базовая поддержка включена, но еще не включена в выпуск.

Вы можете скачать исходный код и собрать его самостоятельно, проект называется TeamBuildScreen.DesktopHudson.

Подробнее о проекте можно узнать по адресу: http://teambuildscreen.codeplex.com/

...