Accurev Plugin

This plugin allows you to use AccuRev as a SCM.

Plugin Information

Plugin ID accurev
Latest Release 0.6.11
Latest Release Date Mar 2, 2010
Plugin Central Plugin Central 3.2
Sources Subversion
Support Eclipse Hudson Forum
Issue Tracking Eclipse Bugzilla
Hudson Core (latest) 3.3.3

Configuring the AccuRev Plugin

First things first - install the plugin, either through the Hudson plugin administration, or manually. In either case, a restart of Hudson is required.

Configuring the AccuRev Server Settings

Once Hudson has restarted, select Manage Hudson from the main menu, then select Configure System from the options presented:

If the plugin was installed properly, you should find a section on this page for AccuRev which looks like this:

Click Add to add a new server definition:

Fill in the each of the settings:

  • Name - a descriptive name for this entry. When you go to configure a new build, this name will show in the server drop-down for AccuRev.
  • Host - the host/IP of the AccuRev server. If you're not sure what this is and you have your AccuRev client installed (which you have to install in order for any of this to work), select Info from the Tools menu and you'll find the server name there.
  • Username - self-explanatory
  • Password - self-explanatory

Hitting the Advanced... button reveals three more options:

  • Port - port of AccuRev server connection. By default, this is 5050.
  • Valid Transaction Types - A comma-separated list of AccuRev transaction types that trigger a build. By default, all transaction types are listed. Those who use the AccuWork integration (AccuRev issues) will want to remove dispatch from the list. This will keep issue changes from triggering a build. Currently, I only have promote and chstream in my list.
  • Synchronize AccuRev CLI Operations - Controls whether or not only one AccuRev CLI operation can be running at any given time, across all jobs on the same node. By default, this is enabled to preserve original functionality. It was determined that the synchronization of all CLI operations was slowing some nodes down considerably, where one job would be doing a large checkout and cause all other jobs to block waiting on the lock. Turning off synchronization should be safe - however, if you think you are having problems with concurrent executions of AccuRev, please let the author know through the users mailing list, or open an issue.

Now scroll to the bottom of the page and make sure you hit the Save button, otherwise your changes will not take.

Configuring a Build to Use AccuRev

Once the server settings are configured, new builds can choose it for pulling down code. Create a new build, give it a job name, and select the type of build (free-style, maven2, etc) and click OK. On the subsequent screen, you'll see a section called Source Code Management where you can select AccuRev. Select AccuRev, and the following options will appear:

You should see the server entry you created in the Server drop-down, and it is likely selected by default. Select it if it is not. Then enter in the names of the Depot and Stream you wish to build.

Advanced Options

There are three advanced options at the job level. The inline help provides detailed information on these, so take advantage of them for detailed information. Here is a summary:

  • Use workspace - Determines whether or not an AccuRev workspace should be used for checkout. By default, Hudson will checkout the entire fileset for the stream every time and not use a workspace. By checking this option, a text box will appear to configure the name of the workspace to use. This workspace must already exist, but Hudson will move the workspace around if need be (such as between slave machines) once it is created. It is important to note that if you do use a workspace, it should be one dedicated to a particular Hudson job - if you use the workspace outside the context of Hudson, or have multiple jobs trying to retarget the workspace at the same time for builds, you could end up with some bad problems. Also, workspace changes get logged as AccuRev transactions.
  • Synchronize clock with AccuRev server - Analagous to the synctime command of the AccuRev CLI or the Synchronize Time option in the AccuRev GUI client. If you start getting build errors about time synchronization, check this box.
  • Sub-path - It is possible to populate only part of a workspace, and the sub-path option allows a way to specify only the subtree of the workspace that you want to be populated before build. However, there are caveats. See the inline help for more detail.

There are a couple of important things to know about using AccuRev workspaces with this plugin. The first is that, even though you are using a workspace, the plugin will purge and repopulate the workspace whenever there is a failed build. Also, sometimes Hudson will trigger a build when no files have changed in the backing stream. These are due to limitations / issues with the AccuRev CLI (at least, the 4.5.* versions).
You can then move on to other options, such as configuring the build to poll AccuRev, or perform a periodic build. Again, be sure to select the Save button at the bottom of the page. You are now ready to try running your build, which should check out the code from AccuRev automatically.

Version History

Version 0.6.11 (2/3/2010)

  • Plugin now using 1.345 of the parent plugin.
  • Added global option to turn off synchronization across AccuRev operations (HUDSON-4722).
  • Added global option to specify what transaction types trigger a build (HUDSON-3967).
  • Exposed environment variables to the build (HUDSON-3222):
    • ACCUREV_DEPOT
    • ACCUREV_STREAM
    • ACCUREV_SERVER
    • ACCUREV_WORKSPACE
    • ACCUREV_SUBPATH
    • ACCUREV_LAST_TRANSACTION

Version 0.6.8 (20/7/2009)

  • Plugin maintainer changed (now statlor). Activity on this plugin should pick up.
  • Fix for issue 3006 which was partially fixed in 0.6.7 but was still causing problems for many. The purpose of this version was to get a more stable release version out there, then work on more bug fixes and enhancements in subsequent releases.

Version 0.6.6 (31/3/2008)

  • Added the ability update (without purging the workspace) when using a workspace and the previous build is not broken.

Version 0.6.1 (13/12/2007)

  • Added the ability to synchronize the build server clock with the accurev server's clock.

Version 0.6 (13/12/2007)

  • Fixed some NPE's in edge cases
  • Added some help files
  • Added the ability to only populate a subset of the workspace (useful when the workspace is large, at a remote site, and you are only interested in a portion of the repository)

Version 0.5 (12/12/2007)

  • minor bug fix on global settings page whereby server ports were "forgotten"
  • removed workaround for masking passwords when authenticating to the
    accurev server
  • Known issues: Change log does not include changes in parent streams when changes
    in the stream and it's parent overlap.

Version 0.4 (3/12/2007)

  • Build triggers now reflect changes in parent streams where appropriate.
  • Now supports checkout using a workspace (I still recommend not using this option, it's there for people who _must_ use it)
  • Known issues: Change log does not include changes in parent streams when changes
    in the stream and it's parent overlap.

Version 0.2 (11/10/2007)

  • On linux, stream names were being quoted.  Now all names are unquoted. This may give rise to issues when running on windows with stream names that contain spaces.  If that's the case, will have to play dancing games figuring out the slave's operating system in order to add quotes for windows only!

Version 0.1 (11/10/2007)

  • Requires Accurev 4.5.x (I have only tested when x >= 1)
  • Currently does not support using check-out using a workspace (but why would you want that anyway)
  • Currently does not provide real time validation of inputs (i.e. depot names, stream names, username, password, etc)

Labels:

plugin-scm plugin-scm Delete
p p Delete
Enter labels to add to this page:
Wait Image 
Looking for a label? Just start typing.