Continuum Build

This page attempts to document the organization of the automatic build processes run by Continuum on the host myfaces.zones.apache.org.

Access to the zone is restricted to certain comitters at this time. If you are a comitter, and would like to help out with zone maintenance, please contact the Myfaces PMC.

Here are some salient points about the installation:

1. In order for Continuum to be able to email it's build results to the mailing list, sendmail has to be running. I have found in the past that sendmail does not automatically start when the zone boots. To check the status of sendmail, use:

svcs -xv svc:/network/smtp:sendmail

If the service is not in the "online" state, you can enable it with:

svcadm enable svc:/network/smtp:sendmail

2. The Continuum process itself is currently not maintained by svcadm. This will be rectified in the future, but for now follow this procedure, logged into the zone under the mrmaven ID:

./start_continuum-1.1.sh

Continuum 1.1-alpha-1

Other things to edit:

Notes

Log

TODO: Upgrade to Continuum 1.1-alpha-2

Continuum 1.1-alpha-2

* 20070624 - Uploaded Continuum 1.1-alpha-2 and unpacked it in /local * need to try the data-management command line utility to see if the existing database can be 'backed up' (dumped to xml)


Build Definitions


Some projects have more the one Build Definition. In some cased, like Tomahawk Core, the additional build is to test the artifact against an additional JSF implementation. This is done by adding the argument -Djsf=xx. As of Tomahawk 1.1.6, the supported implementation are:

-Djsf=ri

Sun Reference implementation, 1.1_02


Troubleshooting


Problem: Build Error due to a problem with the working copy

****************************************************************************
Build Error:
****************************************************************************
Provider message: The svn command failed.
Command output:
-------------------------------------------------------------------------------
svn: Working copy '.' locked
svn: run 'svn cleanup' to remove locks (type 'svn help cleanup' for details)
Type 'svn help' for usage.
-------------------------------------------------------------------------------

Solution:

The working directory is in /usr/local/continuum-1.1-beta-2/working-directory/<projectId>

the projectId for Apache Incubator Trinidad Podling, for example is 146. Just execute :

cd /usr/local/continuum-1.1-beta-2/working-directory/146
svn cleanup .

Problem: Wrong IP address in /etc/hosts

One problem was the host lookup for myfaces.zones.apache.org which wasn't working on the zone box. I was not able to modify /etc/hosts (the cause of the problem is the wrong ip address for myfaces.zones.apache.org) but I found a workaround and defined in maven settings.xml for mrmaven user (the user is used for the continuum builds) a mirror to localhost for myfaces.zones.apache.org.

Still need to find someone with root to fix it in /etc/hosts


Problem: Continuum 1.1 fails to start and reports a connection problem with the database

A possible cause is a previous shutdown of continuum failed and the process was killed.

The embedded database (derby) maintains some lck files in /local/continuum-1.1-SNAPSHOT/data/continuum/database If the continuum process is stopped and these *.lck files are still in that directory it is not possible to start continuum again.

The solution is to remove the *.lck files:

rm /local/continuum-1.1-SNAPSHOT/data/continuum/database/*.lck

and (re)start continuum.

Trying to upgrade to Continuum 1.1 (final)

   wrapper.port.min=33000
   wrapper.port.max=33999
   cd /export/home/mrmaven/continuum-upgrade-1.1-final
   java -Xmx512m -jar data-management-cli-1.1-beta-2-app.jar -buildsJdbcUrl jdbc:derby:/local/continuum-1.1-beta-2/data/continuum/database -mode EXPORT -directory backups-projects
   java -Xmx512m -jar data-management-cli-1.1-beta-2-app.jar -usersJdbcUrl jdbc:derby:/local/continuum-1.1-beta-2/data/users/database -mode EXPORT -directory backups-users
cd /export/home/mrmaven/continuum-upgrade-1.1-final/backups-projects
xsltproc copy.xsl builds.xml > fixed-builds.xml
mv builds.xml builds.xml.orig
mv fixed-builds.xml builds.xml
java -Xmx512m -jar data-management-cli-1.1-app.jar -buildsJdbcUrl jdbc:derby:/local/continuum-1.1/data/continuum/database -mode IMPORT -directory backups-projects
java -Xmx512m -jar data-management-cli-1.1-app.jar -usersJdbcUrl jdbc:derby:/local/continuum-1.1/data/users/database -mode IMPORT -directory backups-users
-bash-3.00$ java -Xmx512m -jar data-management-cli-1.1-app.jar -buildsJdbcUrl jdbc:derby:/local/continuum-1.1/data/continuum/database -mode IMPORT -directory backups-projects
0 [main] INFO org.apache.maven.continuum.management.DataManagementCli  - Processing Continuum database...
Exception in thread "main" java.lang.NullPointerException
        at org.apache.maven.continuum.management.DataManagementCli.downloadArtifact(DataManagementCli.java:364)
        at org.apache.maven.continuum.management.DataManagementCli.processDatabase(DataManagementCli.java:198)
        at org.apache.maven.continuum.management.DataManagementCli.main(DataManagementCli.java:170)
7623 [main] INFO JPOX.RDBMS.Schema  - Managing Persistence of Class : org.codehaus.plexus.redback.users.jdo.UsersManagementModelloMetadata [Table : USERSMANAGEMENTMODELLOMETADATA, InheritanceStrategy : new-table]
7630 [main] INFO JPOX.RDBMS  - Creating table USERSMANAGEMENTMODELLOMETADATA
7704 [main] INFO JPOX.RDBMS  - Validated 1 unique key(s) for table USERSMANAGEMENTMODELLOMETADATA
7772 [main] INFO JPOX.RDBMS  - Validated 1 index(es) for table USERSMANAGEMENTMODELLOMETADATA
Exception in thread "main" java.lang.NullPointerException
        at org.codehaus.plexus.redback.management.JdoDataManagementTool.restoreRBACDatabase(JdoDataManagementTool.java:186)
        at org.apache.maven.continuum.management.redback.JdoDataManagementTool.restoreDatabase(JdoDataManagementTool.java:93)
        at org.apache.maven.continuum.management.DataManagementCli.processDatabase(DataManagementCli.java:270)
        at org.apache.maven.continuum.management.DataManagementCli.main(DataManagementCli.java:177)
/local/continuum/bin/solaris-x86-32/run.sh start
INFO   | jvm 1    | 2008/02/25 15:11:41 | Caused by: org.codehaus.plexus.jetty.ServletContainerException: Error while starting the context /continuum
INFO   | jvm 1    | 2008/02/25 15:11:41 |       at org.codehaus.plexus.jetty.AbstractJettyServletContainer.startApplication(AbstractJettyServletContainer.java:213)
INFO   | jvm 1    | 2008/02/25 15:11:41 |       at org.codehaus.plexus.service.jetty.JettyPlexusService.afterApplicationStart(JettyPlexusService.java:248)
INFO   | jvm 1    | 2008/02/25 15:11:41 |       ... 34 more
INFO   | jvm 1    | 2008/02/25 15:11:41 | Caused by: java.lang.NullPointerException
INFO   | jvm 1    | 2008/02/25 15:11:41 |       at org.jpox.state.StateManagerImpl.internalMakePersistent(StateManagerImpl.java:3667)
INFO   | jvm 1    | 2008/02/25 15:11:41 |       at org.jpox.state.StateManagerImpl.makePersistent(StateManagerImpl.java:3646)
INFO   | jvm 1    | 2008/02/25 15:11:41 |       at org.jpox.AbstractPersistenceManager.internalMakePersistent(AbstractPersistenceManager.java:1202)
INFO   | jvm 1    | 2008/02/25 15:11:41 |       at org.jpox.AbstractPersistenceManager.makePersistent(AbstractPersistenceManager.java:1261)
INFO   | jvm 1    | 2008/02/25 15:11:41 |       at org.codehaus.plexus.jdo.PlexusJdoUtils.updateObject(PlexusJdoUtils.java:160)
INFO   | jvm 1    | 2008/02/25 15:11:41 |       at org.apache.maven.continuum.store.JdoContinuumStore.updateObject(JdoContinuumStore.java:1080)
INFO   | jvm 1    | 2008/02/25 15:11:41 |       at org.apache.maven.continuum.store.JdoContinuumStore.updateObject(JdoContinuumStore.java:1072)
INFO   | jvm 1    | 2008/02/25 15:11:41 |       at org.apache.maven.continuum.store.JdoContinuumStore.updateBuildDefinitionTemplate(JdoContinuumStore.java:935)
INFO   | jvm 1    | 2008/02/25 15:11:41 |       at org.apache.maven.continuum.builddefinition.DefaultBuildDefinitionService.addBuildDefinitionInTemplate(DefaultBuildDefinitionService.java:504)
INFO   | jvm 1    | 2008/02/25 15:11:41 |       at org.apache.maven.continuum.builddefinition.DefaultBuildDefinitionService.getDefaultMavenOneBuildDefinitionTemplate(DefaultBuildDefinitionService.java:323)
INFO   | jvm 1    | 2008/02/25 15:11:41 |       at org.apache.maven.continuum.builddefinition.DefaultBuildDefinitionService.initializeDefaultContinuumBuildDefintions(DefaultBuildDefinitionService.java:116)
INFO   | jvm 1    | 2008/02/25 15:11:41 |       at org.apache.maven.continuum.builddefinition.DefaultBuildDefinitionService.initialize(DefaultBuildDefinitionService.java:104)
INFO   | jvm 1    | 2008/02/25 15:11:41 |       at org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializePhase.execute(InitializePhase.java:33)
INFO   | jvm 1    | 2008/02/25 15:11:41 |       at org.codehaus.plexus.lifecycle.AbstractLifecycleHandler.start(AbstractLifecycleHandler.java:128)
INFO   | jvm 1    | 2008/02/25 15:11:41 |       at org.codehaus.plexus.component.manager.AbstractComponentManager.startComponentLifecycle(AbstractComponentManager.java:142)
INFO   | jvm 1    | 2008/02/25 15:11:41 |       at org.codehaus.plexus.component.manager.AbstractComponentManager.createComponentInstance(AbstractComponentManager.java:132)
INFO   | jvm 1    | 2008/02/25 15:11:41 |       at org.codehaus.plexus.component.manager.ClassicSingletonComponentManager.getComponent(ClassicSingletonComponentManager.java:90)
INFO   | jvm 1    | 2008/02/25 15:11:41 |       at org.codehaus.plexus.DefaultComponentLookupManager.lookup(DefaultComponentLookupManager.java:147)
INFO   | jvm 1    | 2008/02/25 15:11:41 |       at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:333)
INFO   | jvm 1    | 2008/02/25 15:11:41 |       at org.codehaus.plexus.component.composition.AbstractComponentComposer.findRequirement(AbstractComponentComposer.java:232)
...

:-( THIS REALLY SUCKS!!! I'm giving up

/local/continuum-1.1-beta-2/bin/solaris-x86-32/run.sh start

last edited 2008-03-10 23:56:53 by GrantSmith