Analysis
Overview
The goal of this task (and its related) is to create a one-step process for turning source code into a working system. This involves setting up a build server.
Task requirements
We must provide a running and available instance of a build server.
- Search for a build server which suits our needs.
- Locate the place where the server will be (maybe the same as the new Trac system?).
- Make basic setup and run the server.
- Integration with the project and further setup are not part of this task.
Task result
A build server running.
Implementation idea
When searching for a suitable server, keep in mind that it must provide all the functionality, that the tasks in "Related" section require.
Look at Hudson and Continuum.
Related
BUILD_SERVER_INTEGRATION_R0
BUILD_SERVER_REPORTS_R0
BUILD_SERVER_DEPLOYMENTS_R0
SCS_MACHINE_SETUP_R1
How to demo
Show the instance running.
Design
- Research is made about hudson and continuum pros and cons. The main differences are:
- Continuum allows multiple jobs over a single project but has problem where if maven "modules" are sibling
projects (i.e. referenced via ../some-project/pom.xml). It is harder to set up.
- hudson is better due to its simplicity. For example to configure a schedule, we should simply add “@daily” on schedule option and all is set. It has also more detailed email notifications.
- For now we will setup Hudson for our build continuous integration server. Visit https://hudson.dev.java.net/.
- There are a lot of reports that can be generated: http://hudson.gotdns.com/wiki/display/HUDSON/Plugins#Plugins-Buildreports
- The server will be set in the scs folder in the new server. See SCS_MACHINE_SETUP_R1.
- Follow the installation instructions: http://hudson.gotdns.com/wiki/display/HUDSON/Installation+and+Execution.
Implementation
- Hudson is running on http://sophie2.org:8080.
- It is set up in the home folder of the user "build" - /home/build/.hudson on the sophie2.org server.
- The logs are redirected to hudson.log file in the same folder.
- There is bash script which starts Hudson named hudson.sh with arguments start|restart|stop depends on what action you want, located in the build's home folder. It is configured to start when the sophie2 server starts.
- The Hudson server has authentication and users are set for all the team members, the usernames and passwords are the same as for the svn. Registration is no present. If you have troubles with your account contact pac for assistance.
Testing
Comments
(Write comments for this or later revisions here.)