The ASF runs a Hudson continuous-integration server at http://hudson.zones.apache.org/hudson.

Any ASF project can run build and test tasks for their projects from this server; if you are a member of an ASF PMC, get in touch and we'll set you up with an account.

You get a login account on a Hudson host with restricted 'sudo' privileges, where you can install the tools your project requires to build or run its tests; and you also get an administrative account on Hudson itself, in order to create the Hudson "Jobs" representing your projects.

Your users will then be able to view results of those builds on the web.

FAQ For PMCs

How do I get an account / report a bug / contact the maintainers?

Use this JIRA form to create an issue under the "Hudson" component. Be sure to state your

  1. Apache username (aka. availid)
  2. Your real name
  3. Name of PMC to which you belong
  4. OS choice(s): one or both of Solaris 10 or Ubuntu 8.10

Getting started

When your account request has been processed, you will receive an e-mail containing your host and web login details.

  1. You must subscribe to infrastructure@ and builds@ to receive notifications of Hudson upgrades, outages, etc.

  2. You should login to the host machine and change your password:
    • ### Login.
      ssh hudson.zones.apache.org
      ssh minerva.apache.org
      ssh vesta.apache.org
      
      ### Change your password. You're prompted for old and new password, which must contain at least 1 numeric or special character(s).
      passwd

      The SSH host key is checked into SpamAssassin SVN here. (TODO: set up SSH to allow autologin)

  3. Login to the Tomcat Admin UI with your web login credentials, click on your name, and change your password. NOTE that this password will be stored in plain text on the zone machine and viewable by all users.

  4. Finally, login to http://hudson.zones.apache.org/hudson using the "login" link in the top right corner of the screen. Use your web login and new Tomcat password.

What should I do with the build and test tools that my project needs?

Install them into your home directory (/home/username), if possible, on all machines your builds will run on. Ensure your home directory has permissions for the 'hudson' UID to access them.

Various version of the following tools are supplied in /home/hudson/tools:

Are there recommended or mandatory Hudson settings for ASF projects?

When configuring your job, these settings are a good idea:

Locks (Mandatory)

Repository browser (Recommended)

Tie this project to a node (Recommended)

How do I run commands as the Hudson user?

If you need to run commands as Hudson, log in as yourself over SSH using your SSH username and password, then type:

  sudo su - hudson

Type your password, again, and a new shell will start, running under the "hudson" uid. You can now kill any hung processes, or whatever other cleanup is necessary.

How do I allow Hudson to mail to my project's "dev" list?

Send an email to FOO-allow-subscribe-hudson=hudson.zones.apache.org@TLP.apache.org. Replace "FOO" with the name of your dev list, e.g. "dev", and "TLP.apache.org" with the name of your TLP.

On the job's Config page, tick "E-mail Notification", and type FOO@TLP.apache.org in the Recipients field. Tick 'Send e-mail for every unstable build'.

Mails will now be sent every time a build starts failing, or when a failing series of builds starts working again.

Where do I find more information on Hudson?

Who maintains hudson.zones.apache.org?

Currently, the administrators are:

A mail to <hudson /at/ hudson.zones.apache.org> will be sent to all administrators.

FAQ For Administrators

How do I restart Hudson?

Log into the zone via SSH and type:

Sometimes there are build jobs that are stuck and won't stop. The following command can be used to clean up all pending Hudson processes and start from a fresh state:

  sudo /usr/local/bin/restart-hudson.sh

Note that given the number of historical builds that Hudson must load into memory, it may take up to 10 minutes for the Hudson webapp to become functional after a restart.

How can I see what tasks are open in JIRA?

This JIRA search will display the current list of tasks for the 'Hudson' component of the Infrastructure project (that's us). You may want to subscribe to that Filter; hit 'Save' to save it as a filter, then 'Manage' and 'Subscribe'.

How do I setup a new user on Hudson?

Verify the requestor is a member of a PMC or an Incubator project here.

Run this on hudson.zones.apache.org:

/usr/local/bin/new_hudson_user hudson,minerva,vesta username "Firstname Lastname" PMCName

This will generate two random passwords (one for SSH, one for the web components), SSH to each of the requested machines, create a user account for the user on each machine, allow you to set the SSH password, and add the user account to the sudoers file.

Do not run this script as root; it'll take care of calling "sudo" for you at the appropriate times.

The first argument is a list of hosts to create the account on. You can choose from the following:

Multiple hosts can be specified, comma-separated.

The script will finally prompt you with the next steps to perform in terms of adding the user to Tomcat and Hudson, and offering a mail message body to cut and paste as mail to the user, informing them of their username and passwords and requesting that they subscribe to the appropriate notifications list.

How do I install a new version of Hudson?

How do I install a new Hudson plugin?

Where do I find more information on administering our Hudson installation?

What do Administrators do?

Backups

The Hudson zone is backed up nightly to /zonestorage/backup , which in turn is backed up to another ASF machine periodically. /export/home/hudson, user home directories, and /opt are backed up. Note however that historical build data and artifacts are not backed up.

Hudson (last edited 2009-11-05 05:53:03 by JanMaterne)