Hudson Plugin 0.1.0

Added by Toshiyuki Ando over 8 years ago

hello.

Redmine Hudson Plugin 0.1.0

What's hudson?

Huson is application for Continuous Integration.
Easy install configuration, and good ui.

More detail Meet Hudson

Features

Show Job List

  • show name, description, latest build ( build number, result, date ) and health report
    • bulid number linked to build result page
  • click [Build Now] request hudson to build
    • can't use authentication
  • Mr. hudson appears ( sorry, not emotional )

Show Build History

click note icon, show build history

  • show build number, result, date
    • bulid number linked to build result page
    • console icon linked to console page

Settings

  • can choose job
  • compact mode
    show only job name and latest build

Todo

  • more emotional
  • use authentication

How To Get

Repository( goolecode )
Download

Demo

You can see this plugin on our site
r-labs Hudson

Tested on Redmine 0.8.3 and current trunk.
Check it out, Any feedback or thoughts on useful features are welcome!

Thanks.

Replies (132)

RE: Hudson Plugin 0.1.0 - Added by Jens Goldhammer over 8 years ago

Toshiyuki Ando wrote:

Thanks!

Jens Goldhammer wrote:

In my eyes, any job (maybe two or more) should be displayed which builds this code. For example, we have a hudson job which builds our code and makes some small unit tests. Another hudson job starts at night and makes some big integration tests. So the build result should not be displayed at the top of the revision box. Instead it should be displayed in front of each build message(jobname, number, date). Please look at the screenshot attached for further details.

That's right. Thank you for your advice.
I'll show message like a screenshot.

Cool! Looks very good.

In my eyes, the hudson plugin has to automatically request in background the hudson instance for new builds of the configured jobs in each project. Maybe you can build this via a timer which can be configured in hudson settings (request all 5|10|20|30... minutes).

Oh. I don't know how to request in background using Redmine ;<
I guess repository module request to SCM, when someone access repository tab. I'll follow this.
Do you know how to request in background?

I have googled for it and found out the following:
http://www.igvita.com/2007/03/29/scheduling-tasks-in-ruby-rails/

I think, this is a very good approach for ruby here:
http://backgroundrb.rubyforge.org/
http://www.infoq.com/articles/BackgrounDRb
http://warpspire.com/tipsresources/programming/long-running-tasks-in-rails-backgroundrb/

Maybe someone of the redmine developers has used it before and can explain a little bit more? Maybe Redmine has already a background timer? AFAIK, the repository changesets can also be fetched via a rake task.

What about the amount of data?
Ok, let us say we have three jobs for a redmine project. Two jobs are builded several times (20-30 times) one day. The third job is only builded once at night. The project duration is 200 working days year. So there are 6200 (200 days * 30 builds * 2 jobs + 200 days *1 build *1 job) entries in the database for this project. Hmm, I think it is ok.

Thanks for in-depth explanation.
If i add changeset to entries, not a big thing :)

Thanks,
Jens

RE: Hudson Plugin 0.1.0 - Added by Toshiyuki Ando over 8 years ago

Hudson plugin 0.1.4 released.

New feature

Plugin shows build history on activity.
History includes Job name, build number, test results and changesets.

You can stop plugin getting test results and changesets. Use settings.
( Getting test results and changesets needs a good amount of time. )

Plugin stores job and build information on database.
Please execute db:migrate_plugins

Changed

Changes permission name. For show history on activity.

Important reminder

Recommend Hudson 1.313
If you use old version of Hudson, plugin may not get test results and changesets.
Plugin store build information, if plugin can't get test results or changesets.
But, If plugin fail, never get test results, changesets again.

Plugin get build information when you access plugin (Hudson tab).
Plugin has no exclusive control, so plugin doesn't work when redmine works on multi-process.
I'll try next version.

Plugin can get recent build infomation, more than a dozen.
If Hudson has many build infomations, Plugin can't get all. sorry.

Something is wrong with plugin, you should try to delete data from database.
( use 'delete history' button in setting page )

Next feature

Plugin show build result on issues next version. Just wait a little longer.
(Plugin can store data to database, so it's not difficult.)

RE: Hudson Plugin 0.1.0 - Added by Jason Messmer over 8 years ago

Very nice...

One suggestion that I have is to use the same icons from hudson for the blue, red, grey globes and
use the clock icon from hudson for the [build now].

Thanks,
Jay

RE: Hudson Plugin 0.1.0 - Added by Nanda P over 8 years ago

Toshiyuki: very useful plugin, great job!!

I tried to deploy the latest version 0.1.4 and got the following error.

A NameError occurred in application#index:

  uninitialized constant HudsonHttpException::GLoc
  C:/Program Files/Ruby/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/dependencies.rb

Thanks,
Nanda

RE: Hudson Plugin 0.1.0 - Added by Toshiyuki Ando over 8 years ago

Nanda Palaniswamy wrote:

Toshiyuki: very useful plugin, great job!!

I tried to deploy the latest version 0.1.4 and got the following error.

[...]

Sorry. I used Gloc library. Current trunk of Redmine don't use Gloc.
It's a mistake ;< I'll fixed this problem by tomorrow.

May I ask you a question?

  • What version of Hudson do you use ?
  • Does your redmine have Gloc library? (locate vendor/plugins/gloc-x.x.x)

RE: Hudson Plugin 0.1.0 - Added by Toshiyuki Ando over 8 years ago

Hudson plugin 0.1.4.1 released.

Download

fixes following problem.

A NameError occurred in application#index:

uninitialized constant HudsonHttpException::GLoc
C:/Program Files/Ruby/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/dependencies.rb

Nanda, could you try this version?

RE: Hudson Plugin 0.1.0 - Added by Jason Messmer over 8 years ago

Here are some updates to use Hudson icons...

redmine_hudson_hudson_icons.png (32.8 KB)

index.rhtml Magnifier (4.08 KB)

hudson.css Magnifier (494 Bytes)

RE: Hudson Plugin 0.1.0 - Added by Toshiyuki Ando over 8 years ago

Jason Messmer wrote:

Here are some updates to use Hudson icons...

Very nice. Thanks Jason!
I build your updates to plugin.
I like my icon, so you'll be able to choose each style icon, Hudson-Icon, Hudson-Plugin-Icon.

RE: Hudson Plugin 0.1.0 - Added by Toshiyuki Ando over 8 years ago

Hudson plugin 0.1.5 released.

How to get

New feature

Plugin shows build result on issue.
Show jobname, build number, test-result(only number of items) and changesets.

Changed

Use Hudson icons.

Thanks Jens, Jason.

RE: Hudson Plugin 0.1.0 - Added by Jens Goldhammer over 8 years ago

Really great. Works like expected.
Thank you very much!!

RE: Hudson Plugin 0.1.0 - Added by Mike Tegtmeyer over 8 years ago

Fantastic job. Looks and works great. Is it possible to update the main plugin page (here on Redmine) to the new version? If one simply follows the hudson plugin link it looks like version 1.0 is most current. I was pulling my hair out trying to figure out why things weren't working correctly over SSL and it wasn't until much time later that I found out that version 1.5 fixes these problems.

In any case. Great job as this is much better then using cruisecontrol.rb and the associated plugin.

RE: Hudson Plugin 0.1.0 - Added by Joel P about 8 years ago

Does 1.5 work with the current redmine trunk?

RE: Hudson Plugin 0.1.0 - Added by Joel P about 8 years ago

And the answer is yes.

Though, I found a small bug. In settings, I put my hudson URL which is of the form "http://hudson.mydomainname.now" and it blew up with a 500 error and it wouldn't let go back and change the url setting. I manually deleted the value in the database, and the edit loaded again. Turns out it needs a trailing slash - like "http://hudson.mydomainname.now/".

Anyway - thanks for plugin - it should very useful.

Hudson Plugin 0.1.6 released - Added by Toshiyuki Ando about 8 years ago

Plugin-Details

How to get

New feature

Health report settings comes in useful.
Plugin provides a link to Hudson, if plugin find keyword in Health Report.
You can add/modify/delete Keyword and linked URL.

ex)
If you use Rcov, plugin settings is as follows.
${hudson.url} and ${job.name} are replaced 'Hudson URL' and 'Hudson Job name'.

To:Jens

I couldn't have done it without you. thanks!
Please let me know, when you come up with plugin's idea.

To:Mike

I can't update main page, sorry ;<
I fill in subject 'Hudson Plugin x.x.x released', when i release a new version.

To:Joel

Plugin has problems with messages. ( mostly error messages, caused by '%1s' )

I put my hudson URL which is of the form "http://hudson.mydomainname.now" and it blew up with a 500 error

Oh, sorry, I will fixed next version.

RE: Hudson Plugin 0.1.0 - Added by Mischa The Evil about 8 years ago

Toshiyuki Ando wrote:

To:Mike

I can't update main page, sorry ;<
I fill in subject 'Hudson Plugin x.x.x released', when i release a new version.

You can edit the plugin's entry in the Redmine plugin list to reflect the latest version of your plugins. I've just updated the entry to reflect the just released version 0.1.6 of your Hudson plugin.

Btw: It looks like it's a great plugin you've made there...

Kind regards,

Mischa.

RE: Hudson Plugin 0.1.0 - Added by Toshiyuki Ando about 8 years ago

Mischa The Evil wrote:

You can edit the plugin's entry in the Redmine plugin list
to reflect the latest version of your plugins.
I've just updated the entry to reflect the just released version 0.1.6 of your Hudson plugin.

I didn't know that page, Many thanks!
I remember to update the entry of my plugin.

RE: Hudson Plugin 0.1.0 - Added by Andrea Campi about 8 years ago

The link to settings in the main part of the page is broken; the one in the sidebar is correct.

Also, in the "normal" (non-compact) view you show notes fetched from Hudson. But Hudson allows (some) HTML, and you don't, so it may show incorrectly.
For instance, we often use ul to show lists.
Any way you could support the same subset of HTML as Hudson does?

RE: Hudson Plugin 0.1.0 - Added by Jens Goldhammer about 8 years ago

I have found an error if the hudson server via http is not available. I have got an 500 error if I click on the hudson tab.
Can you fix this please?

Thanks,
Jens

Anyway the plugin is great!!

Hudson Plugin 1.0.0 released - Added by Toshiyuki Ando about 8 years ago

Plugin details

How to get

New feature

rake task 'redmine_hudson:fetch'

You can get build results using rake task 'redmine_hudson:fetch'.
If you use rake task, please uncheck 'AutoFetch' setting.
You can change 'AutoFetch' setting on settings/plugin/redmine_hudson.

Job Description Format

You can use HTML to write job description.
You can also use Textile.

Job Description Visibility

You can change job description visibility dynamically.

Database

Plugin stores health report and job description to database.
Only latest information.

Plugin stores all build information to database.
If your hudson have many job and many build result, it takes a lot time to store information.

I try all job of http://deadlock.netbeans.org/hudson/ , it takes about 20min.

Global settings

Plugin has a global settings.
Go Administration -> Plugins -> 'Redmine Hudson Plugin' Configure.

  • AutoFetch
    Plugin fetches information from Hudson during action 'index'.
  • Job Description Format
    You can choose format to write job description. HTML or Textile.

New language

Add Spanish. Thanks! juancayetano.delgado.

RE: Hudson Plugin 0.1.0 - Added by Toshiyuki Ando about 8 years ago

Andreai and Jens.

1.0.0 may be fixed these problem.
Please try new version.

RE: Hudson Plugin 0.1.0 - Added by Karl Heinz Marbaise about 8 years ago

Hi, real cool idea...but i'm missing a thing or may be i oversight things...

Can i configure multiple Hudson Instances ?

Kind regards
Karl Heinz Marbaise

RE: Hudson Plugin 0.1.0 - Added by Toshiyuki Ando about 8 years ago

Karl Heinz Marbaise wrote:

Can i configure multiple Hudson Instances ?

Plugin can manage only one Hudson Instance.
Can't manage multiple, Sorry.

How many instances do you have ?

RE: Hudson Plugin 0.1.0 - Added by Karl Heinz Marbaise about 8 years ago

Hi,
i have currently 7 Hudson instances running for different code lines (trunk, integration-branch, release-branch, pre-release-branch etc.).

Kind Regards
Karl Heinz Marbaise

RE: Hudson Plugin 0.1.0 - Added by Jens Goldhammer about 8 years ago

Hmm, I understand that you want to test different code lines in different jobs. But I don´t understand why you have multiple instances instead of using one hudson instance with severeal slaves. Look at http://wiki.hudson-ci.org/display/HUDSON/Distributed+builds. This saves a lot of time because you have to configure hudson only one time and not seven times. Or is there any reason for having more than 1 hudson instance?

1 2 3 4 ... 6 (26-50/132)