DeadlockMachineAdmin

Revision as of 17:02, 23 March 2012 by Jglick (Talk | contribs)
(diff) ← Older revision | Current revision (diff) | Newer revision → (diff)

MOSTLY OBSOLETE

Contents

Administration of deadlock.netbeans.org

See also: DeadlockMachine

Use port 222 for SSH by adding to /etc/ssh/ssh_config:

Host deadlock.netbeans.org
  Port 222

Hudson

  • Hudson admins can create new projects to build easily
  • choose project name = Hg clone or branch name if applicable
  • you can copy an existing project for quicker set-up
  • Java, Ant in path; /opt/jdk5<tt> and <tt>/opt/jdk6 available
  • build trigger section should use Hg polling
  • if possible, keep any nontrivial commands to run the build in nb.org Hg in nbbuild/hudson
  • trunk build has some special features
  • commit verification/validation always run
  • note that commit validation is unreliable: fails sporadically
  • separate project tries to build API Javadoc, NBMs, and JNLP too
  • to keep Hudson up to date:
  • monitor Hudson news
  • when a new plugin we use is released, download it from Manage Plugins; after that, or a new version of Hudson is available, restart from GUI
  • OK to run >1 project at a time even if they use commit validation: each should be run in its own Xvnc display (see project config page)

Managing job timeouts (adapted from https://svn.apache.org/repos/private/committers/tools/hudson/set-timeout.groovy):

hudsonInstance = hudson.model.Hudson.instance
allItems = hudsonInstance.items
activeJobs = allItems.findAll{it.buildable}
activeJobs.each { job ->
  wrapper = job.buildWrappersList.findAll{
    it instanceof hudson.plugins.build_timeout.BuildTimeoutWrapper}[0]
  if (wrapper != null) {
    println "${job.name} already at ${wrapper.timeoutMinutes}"
  } else {
    timeout = (int) Math.max(30, Math.round(job.estimatedDuration * 3 / 1000 / 60))
    println "${job.name} will be set to $timeout"
    job.buildWrappersList.add(new hudson.plugins.build_timeout.BuildTimeoutWrapper(timeout, false))
  }
}
null

OpenGrok

Currently broken.

  • lives in /opengrok/
  • Just plain installation, no special config yet. This means committers names' are linked back to OpenSolaris site. Will fix later.
  • Only did a tiny patch in the RCS parser lib used by OpenGrok to work around stupidities we have in our CVS repository like slash in tagnames.
  • ctags is not the best way to do xref for java files, it creates hyperlinks even for "extends"
  • OpenGrok indexes only modules in the standard NetBeans module set, ie no uml, no bpel, it runs over the hudson workspace dir *after* the builds. Even build products like class files are indexed. We need to adjust the "clean" target to clean those working files but keep the end products (zip, javadoc, xtest results) and "real-clean" to clean everything. Or do something else because running "clean" at the end of each hudson build would spoil incremental builds
  • It's fast, really fast

Sorcerer

A Java source browser. See /sorcerer (run on a cron job).

Currently broken.

Lighttpd

The delegating web server.

Needs to have its logs set up to autorotate - they get huge! Trung suggests:

  1. change the log verbosity to CRIT
  2. remove the date based file naming
  3. set up log rotate, see /etc/logrotate.d/* for inspiration
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