You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

What is a Property Collector?

A property collector is used as a way for the user to tell Continua it needs to gather certain properties on either an Agent or on the Server. Once a property collector has been defined, it will be sent out to all interested parties (Agents/Server, as defined in the Run On attribute of the collector). The property collector then gathers information on the target and reports those results to the server for later use. The type of property to gather is defined when the property collector is created.

What's a Property Collector Type?

Currently in Continua, there's 11 property collector types. Each type returns a value or a set of values. The table below outlines the property collector types and their return values.

Property TypeDescriptionReturns
FinalBuilderEnter the version number of Finalbuilder to check for.Version, MajorVersion, MinorVersion, RelaseVersion, BuildVersion, Path.
DotNetFrameworkSelect the Framework and SDK Version of .NET.ToolsPath, FrameworkPath, Path.
VisualStudioSelect the version of Visual Studio to check for.Path

File Version

Check the File/Product Version of the file specified.Version, MajorVersion, MinorVersion, RelaseVersion, BuildVersion
Path Access PluginEnter a path to check for its existence.

HasAccess (boolean value)

Path Finder PluginEnter a file and paths where it can be found.Full path including file name.
Registry Key FinderSearch for a Registry Key and its Value.Value of Registry Key Name.

Environment Variable

Enter an environment variable to store.<EnvironmentVariableName>
Environment VariablesStores a list of all environment variables.All environment variables.
Operating SystemStores a list of important Operating System information.

Platform, Runtime, Name, Arch, ServicePack, HostName

IsWindowsOS (bool), IsMacOS (bool), IsLinuxOS (bool)

ASP.NET MVCChecks for a certain version of ASP.NET MVC libraries.IsInstalled (boolean value)

 

How are Property Collectors used?

Most of the time you will be unaware property collectors are in use due to the extensive list of default property collectors we've added to Continua. There are 3 major areas property collectors are used that you need to be aware of.

Configuration

Actions

When creating an Action in the Stage Editor, you may notice a "Using" field at the bottom of the dialog on the first tab for all actions that are backed by an executable. Obviously actions like Delay and Tag Build don't require executables to perform their job so they won't have a "Using" drop down list.  The "Using" list contains the property collectors that are of use to the Action. Once a property collector is selected from this list and the Action is saved to the Stage and subsequently the Configuration, a requirement is then set on the Configuration for that property needing to be available before the Configuration can execute. One common theme for all property collectors found in the "Using" drop down in Actions is they all use a property collector type that returns a Path property. By default, all Actions will take the property collector assigned to them and only use the Path property since that's all the Action needs... the path to the executable to run the Action.

Note: Currently all property collectors listed in Actions are all default property collectors and all have their "Run On" attribute set to Agent. This is how we can construct an Agent Compatibility Matrix which allows the user to see why an Agent may not be compatible with a Configuration. Determining the compatibility of an Agent is as simple as scanning all Actions in a Configuration and seeing if the property collectors they specified to use can find those properties on an Agent. 

Note: You may be wondering how it's possible to get your own property collectors listed in the "Using" drop down, a full explanation can be found below

 

Stage Options

 

Repositories

 

 

The relationship between Agent/Server Properties and Property Collectors

 

Actions/Repositories and Property Collector Namespaces

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • No labels