Version Control

Version Control

Enterprise Tester integrates with a number of popular Distributed Version Control System (DVCS).

This integration will transparently commit copies of baselines created for a project or package to source control, allowing test artefacts to be stored in a source code repository, allowing correlation of test artifacts with versions of a software code base.

Initial Setup

To enable version control integration with Enterprise Tester, the general steps are:

  • Login to the Enterprise Tester server using the same user account as Enterprise Tester has configured for it's application pools identity in IIS.
  • Install the command line client tools for you version control system onto the Enterprise Tester server.
  • Checkout/clone your version control repository to a local directory on the Enterprise Tester server.
  • Attempt a test commit to confirm it is working from command line (i.e. if using GIT + SSH this will ensure you have setup the SSH keys correctly, or if using NTLM this will ensure your windows identity has permission to access to the repository).
  • If everything is working correctly, proceed to configure the version control settings at either the project level, or organisation + project level for each project you want to support version control with.
  • Attempt to baseline a small package of requirements or scripts in your project, and confirm the baseline was pushed to your version control system.
  • If that works, you should be ready to start using version control integration with baselines.

Configuration

Version control can be configured at an organisation or project level.

  • To configure version control settings for an organisation, go to Admin -> Organisations -> Edit Organisation, then switch to the Version Control tab.
  • To configure version control settings for a specific project, go to Admin -> Organisations -> Projects -> Edit Project, then switch to the Version Control tab.

In each case you will be required to supply the following details:

KeyValue
TypeType of version control repository to integrate with
Repository UrlUrl of the repository - this could be a standard HTTP URL, but depends on the type selected (for instance when using git it's OK to use an SSH style url)
Working copy pathWhere the repository is checked out to (this is where the baselines will be stored on the local disk) e.g. c:\data\baselines\

Note: currently the working directory must be created and checked out initially by the user, Enterprise Tester will not perform an initial checkout itself
UsernameThe username of a user with permissions to commit to the repository, in some cases this can be left blank i.e. when using SSH, or when the repository allows anonymous writes
PasswordThe password of a user with permissions to commit to the repository, in some cases this can be left blank i.e. when using SSH, or when the repository allows anonymous writes
Executable PathThis is the path (including filename) to the executable used to perform the source control actions so for example if using GIT integration, you would need to have git for windows installed, and you would then configure the executable path to be: c:\Program Files (x86)\Git\bin\git.exe
Additional ArgumentsAny additional arguments specified will be automatically added to every command executed using the executable (specified in Executable Path) - this is useful in the case of troubleshooting for instance, where you may want to pass in additional flags to force more verbose error messages and logging

Once you have configured version control an organisation level, to then use that version control repository you must configure the project repository to use the value "Inherit From Organisation" for the version control type.

In this case project baselines will stored in child folders, based on the name of the project. If version control settings however are configured directly at the project level, baselines will be stored directly into the working directory folder.

Additional Info

Please consult the topics for each version control system, which provide more details are about specific setup steps for each version control type: