HudsonInNetBeans

(Difference between revisions)
(How to develop)
(How to develop)
Line 91: Line 91:
  java.helpset
  java.helpset
  nbbuild
  nbbuild
 +
 +
and Debug Project on Hudson. This debug target is set up to enable verbose console logging in Hudson-related modules. (It is also suitable for setting as "main project" since its debug target rebuilds all the submodules too.)
 +
 +
Originally "Try Hudson on Localhost" was the easiest way to get started, though this is currently disabled ([https://netbeans.org/bugzilla/show_bug.cgi?id=214210 #214210]), so just download the latest WAR and java -jar it (will open at http://localhost:8080/ by default).
Also of interest to have checkouts of:
Also of interest to have checkouts of:
Line 104: Line 108:
  git://github.com/jenkinsci/jenkins.git
  git://github.com/jenkinsci/jenkins.git
  https://bitbucket.org/jlahoda/jackpot30 (subdir hudson.indexerinstaller; ''experimental'')
  https://bitbucket.org/jlahoda/jackpot30 (subdir hudson.indexerinstaller; ''experimental'')
-
 
-
and Debug Project on Hudson. This debug target is set up to enable verbose console logging in Hudson-related modules. (It is also suitable for setting as "main project" since its debug target rebuilds all the submodules too.)
 
-
 
-
Originally "Try Hudson on Localhost" was the easiest way to get started, though this is currently disabled ([https://netbeans.org/bugzilla/show_bug.cgi?id=214210 #214210]), so just download the latest WAR and java -jar it (will open at http://localhost:8080/ by default).
 
=Competition=
=Competition=

Revision as of 13:55, 14 June 2012

Contents

Features

Also see: NewAndNoteworthyMilestone3NB67#HudsonIntegration

ContinuousIntegrationHOWTO is obsolete (relies on Kenai).

Automatic setup of CI

Should be easy to take an IDE project, or project tree, or kenai.com workspace, and set up a new CI job for it.

For a NB-generated Ant project, this means a freeform job invoking build.xml with the test target, collecting dist/*.jar and test result artifacts.

For a freeform or automatic Ant project, this may not be possible without user intervention.

For a Maven project (possibly consisting of multiple modules), this would be best handled by using Hudson's native Maven 2+ support. The IDE should also populate the CI field in pom.xml.

Monitoring and control

Basic monitoring and control from the IDE, along the lines of what the current module does but more polished: see running builds, get unobtrusive notifications when a build fails (especially if you are listed in the changelog!), maybe start or cancel builds, and of course jump to the main Hudson interface in a web browser for anything not better supported inside the IDE.

Changelog and source review

Ability to review build's changelog using IDE's diff viewer; maybe to switch workspace to VCS snapshot represented by build. Ability to browse job's workspace remotely using a tree view in the IDE (and open files R/O).

Hyperlinks for test failures, warnings, ...

Stack trace hyperlinking for e.g. unit test failures in a completed build.

Version skew is a potential problem.

Build log browsing

Display of build log in IDE's Output Window, with hyperlinks to remote workspace (or local workspace equivalents) for any files mentioned by name.

Version skew is a potential problem.

Static analysis result display

TBD. Open questions:

  • Should we use the task list for this?
  • How to deal with version skew?
  • How can the user keep the task list manageable if there are 7000 FindBugs warnings?
  • How should analysis warnings be rejected? Annotations?

Implementation

In hudson* modules.

Use the connecteddeveloper component in Bugzilla. Create issue; Open issues

Original HudsonInNetBeansUI spec is of historical interest.

How to develop

Build the IDE with at least

cluster.config=basic

Now create a project group containing at least these NB modules:

hudson
hudson.ant
hudson.git
hudson.maven
hudson.mercurial
hudson.subversion
hudson.tasklist

and optionally also:

hudson.php
java.helpset
nbbuild

and Debug Project on Hudson. This debug target is set up to enable verbose console logging in Hudson-related modules. (It is also suitable for setting as "main project" since its debug target rebuilds all the submodules too.)

Originally "Try Hudson on Localhost" was the easiest way to get started, though this is currently disabled (#214210), so just download the latest WAR and java -jar it (will open at http://localhost:8080/ by default).

Also of interest to have checkouts of:

git://git.eclipse.org/gitroot/hudson/org.eclipse.hudson.core.git (3.x)
git://github.com/hudson/hudson.git (2.x)
git://github.com/hudson-plugins/git-plugin.git
git://github.com/jenkinsci/mercurial-plugin.git
git://github.com/jenkinsci/multiple-scms-plugin.git
git://github.com/jenkinsci/analysis-core-plugin.git
git://github.com/jenkinsci/findbugs-plugin.git (etc.)
git://github.com/stapler/stapler.git
git://github.com/jenkinsci/jenkins.git
https://bitbucket.org/jlahoda/jackpot30 (subdir hudson.indexerinstaller; experimental)

Competition

Other Hudson IDE plugins:

Not logged in. Log in, Register

By use of this website, you agree to the NetBeans Policies and Terms of Use. © 2012, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo