blob: 05f214f918408acf1a59588ccf98848f0928e6e7 [file] [log] [blame]
------
Installing Continuum Standalone
------
Emmanuel Venisse
------
2010-02-19
------
~~ Licensed to the Apache Software Foundation (ASF) under one
~~ or more contributor license agreements. See the NOTICE file
~~ distributed with this work for additional information
~~ regarding copyright ownership. The ASF licenses this file
~~ to you under the Apache License, Version 2.0 (the
~~ "License"); you may not use this file except in compliance
~~ with the License. You may obtain a copy of the License at
~~
~~ http://www.apache.org/licenses/LICENSE-2.0
~~
~~ Unless required by applicable law or agreed to in writing,
~~ software distributed under the License is distributed on an
~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
~~ KIND, either express or implied. See the License for the
~~ specific language governing permissions and limitations
~~ under the License.
Installing Continuum Standalone
~~%{toc|section=0}
* {Download and Configuration}
* Download the standalone version from the {{{http://continuum.apache.org/download.html} Download page}}
* Extract the file
<Note>: The standalone version ships with Jetty 8, which requires Java 6.
** {Defining JNDI Resources}
*** {Mail server configuration}
Before you start Continuum, you must configure your SMTP configuration for mail notification. In many servers, the
default of delivering to localhost with no authentication will be properly relayed. However, if you need to
configure a different SMTP server, the configuration is in <<<$CONTINUUM_HOME/contexts/continuum.xml>>>:
%{snippet|id=mail|url=http://svn.apache.org/repos/asf/continuum/trunk/continuum-jetty/src/main/contexts/continuum.xml}
*** {Database configuration}
By default, Continuum use an embedded {{{http://db.apache.org/derby}Derby}} database. If you want to use a different
database, you can modify the JNDI configuration in <<<$CONTINUUM_HOME/contexts/continuum.xml>>>:
%{snippet|id=datasources|url=http://svn.apache.org/repos/asf/continuum/trunk/continuum-jetty/src/main/contexts/continuum.xml}
Please refer to the documentation for your JDBC driver for the correct settings to use. You may need to alter the
<<<validationQuery>>> to one that can successfully execute on your database (or remove the setting if you do not
want to validate connections before using them).
You must ensure the JDBC driver is available in the classpath, by copying it to the <<<$CONTINUUM_HOME/lib>>>
directory and updating <<<$CONTINUUM_HOME/conf/wrapper.conf>>> to ensure it is listed instead of the Derby JAR.
Refer to the {{{http://commons.apache.org/dbcp/} Commons DBCP}} documentation for more advanced configuration of the
connection pool.
More information on supported databases is available in the Administrator's Guide on
{{{../administrator_guides/external-db.html} External Databases}}.
** Testing the Configuration
Start Continuum from the console in the <<<$CONTINUUM_HOME/bin/>>> directory:
----
continuum console
----
If it appears to be working correctly, it is a good idea to set it up as a service so that it will run in the
background under a suitable role account, and can be set to start whenever the server has started.
* {Installing as a Windows Service}
* Go to <<<$CONTINUUM_HOME/bin/>>> and run the following command:
------------------
continuum.bat install
------------------
* Edit the <<Apache Continuum>> service
* To see the services that are on your computer go to <Start>|<Run> and enter <<<services.msc>>>.
* Select the <<Startup Type>>
* Go to the <<Log On>> tab and select a real user. A real user is required because you'll need a home directory for Maven repository and some other things
* Validate your changes
* {Installing as a Linux Service}
Since the Continuum Linux script <<<bin/continuum>>> understands the same arguments as Linux boot scripts, there is no need to write a particular
startup script to add Continuum to the Linux boot process. All you need to do, as root, is:
------------------
ln -s /usr/local/continuum-[VERSION]/bin/continuum /etc/init.d/continuum
------------------
This will allow you to run <<<service continuum start>>> and other commands.
To have the service start on boot, follow the instructions below for your particular family of operating system.
** {On a Debian-based system}
At this point you have Continuum ready to be symlinked from different runlevels. Debian GNU/Linux comes with a very
handy utility to create these links, just run as root:
------------------
update-rc.d continuum defaults 80
------------------
If you run this command, you will see something like this:
------------------
Adding system startup for /etc/init.d/continuum ...
/etc/rc0.d/K80continuum -> ../init.d/continuum
/etc/rc1.d/K80continuum -> ../init.d/continuum
/etc/rc6.d/K80continuum -> ../init.d/continuum
/etc/rc2.d/S80continuum -> ../init.d/continuum
/etc/rc3.d/S80continuum -> ../init.d/continuum
/etc/rc4.d/S80continuum -> ../init.d/continuum
/etc/rc5.d/S80continuum -> ../init.d/continuum
------------------
What you see is the symlinks that would be created.
** {On a RedHat-based system}
Configuring Continuum on a RedHat-based system (like Fedora Core) is slightly different. Instead of running
<<<update-rc.d>>>, you need to add a new service using the <<<chkconfig>>> command.
------------------
chkconfig --add continuum
chkconfig continuum on
------------------
* {Installing as a Mac OS X Service}
On OS X, you can use <<<launchd>>> to run a service. Create the following
as root in <<</Library/LaunchDaemons/org.apache.continuum.plist>>>:
+----+
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>org.apache.continuum</string>
<key>ProgramArguments</key>
<array>
<string>/Applications/Continuum/apache-continuum-${project.version}/bin/continuum</string>
<string>console</string>
</array>
<key>Disabled</key>
<false/>
<key>RunAtLoad</key>
<true/>
<key>UserName</key>
<string>continuum</string>
<key>StandardOutPath</key>
<string>/Applications/Continuum/apache-continuum-${project.version}/logs/launchd.log</string>
<!-- Optional - store data separate from installation -->
<key>EnvironmentVariables</key>
<dict>
<key>CONTINUUM_BASE</key>
<string>/Users/continuum/Library/Continuum</string>
</dict>
<!-- Optional: force it to keep running
<key>KeepAlive</key>
<true/>
-->
</dict>
</plist>
+----+
To install the service, run the following:
+----+
$ sudo chown root:wheel /Library/LaunchDaemons/org.apache.continuum.plist
$ sudo launchctl load -w /Library/LaunchDaemons/org.apache.continuum.plist
+----+
Start and stop the service with:
+----+
$ sudo launchctl start org.apache.continuum.plist
$ sudo launchctl stop org.apache.continuum.plist
+----+
To uninstall the service:
+----+
$ sudo launchctl unload -w /Library/LaunchDaemons/org.apache.continuum.plist
+----+
You can follow the same steps to install build agents as a service by
replacing the appropriate paths, and changing <<<org.apache.continuum>>> to
<<<org.apache.continuum.buildagent>>> in the label and <<<plist>>> filename.
* {Installing with Puppet}
If you use Puppet to manage your infrastructure, you can use a third-party Puppet module to install Continuum. This
will take care of adding the required users, databases and configuration based on official release tarballs.
* {{{https://github.com/maestrodev/puppet-continuum} Puppet module for Apache Continuum and Continuum build agents}}