The
ResearchAndTeachingUnit provide headers and basic service configuration for instances of the
Jenkins Continuous Integration Server. As with most other non-core services we don't provide hardware for the purpose, but can add Jenkins to most DICE machines, within reason.
Installation
This can be set up on a machine with as little as:
#include <dice/options/jenkins.h>
and a reboot. Please see the above header's comments for basic setup details, including setting the home directory, configuring backups, etc.
Configuration
Basic setup configuration can be performed using the file component as described in the header.
It's important to note that Jenkins is delivered effectively unconfigured (at present), and these should be set up only for local, trusted users groups as they effectively allow arbitrary and anonymous execution for anyone with write access to the service. Users requesting a jenkins server
must be informed of this, and they must set up adequate controls.
OpenID
Not being apache-based we can't automatically add Cosign support, but in any event this model probably doesn't suit the typical use case. Instead, RAT plan to resurrect Informatics
OpenID support to make it easier for users to authenticate DICE users securely (using the
OpenID plugin for Jenkins) and in a more lightweight fashion.
Control
The service will be configured to start on boot. Jenkins has no component (yet) but can be controlled (in case of failure, for example) using the basic
service
interface:
# service jenkins <start|stop|restart>
Once started, service is available by default at http://<hostname>.inf.ed.ac.uk:8080/.
Updates
RAT will update the Jenkins software periodically by RPM. Updates require a service restart to take effect, but this can be done on reboot or at the user's leisure. Users should be informed, however, since self-installed plugins might cause compatibility issues.