Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

Select Projects from the menu.

...

The SCM configuration is based on the SCM Type that is selected for the project, and is currently applicable for SubVersion, Git, Microsoft TFS, CVS, ClearCase, and CVS PVCS SCM types only.

SCM Configuration values (except Instance drop down) are specified as Groovy scripts. This provides users with more flexibility, as values for each element is evaluated for Project Version and Stream being used for Build. Refer to the table below.

...

Defaults for Subversion source configurations can be configured using Project Subversion SVN Setup Defaults. This can be configured such that

...

If you have multiple Git repositories in your environment, then you can utilize the second approach to configure the project based on some criteria. You can accomplish this by placing an "if" statement within Groovy script for the defaults. With this approach all attributes in Git configurations will be empty initially, and when user selects Git Instance, configuration values will be defaulted appropriately.

Tip

In example below, if Project Name is Project1 and Stream Names are master and fixpack1, here is what will be actual values of various configurations.

  • Branch Name - master or fixpack1 depending what is selected during Build request
  • Tag Name - 1.0.0

This structure does not need to match with your Git repository. You just need to define Groovy scripts to match your repository structure. In many cases you might be sharing Git repository with other folders, so you may have to configure Sparse Checkout Folders for efficient build process.

Field Name

Required

Description

Git Instance

Yes

An SCM Instance representing a Git repository. See the Instances section to create SCM Type Instance. Refer to the Instances page for more on SCM Instances.

Branch Name Script

Yes

Path for the branches within selected repository. Use StreamName variable to identify branch name used at runtime.

Tag Name Script

Yes

Path for the tag within the selected repository. Use ProjectVersion variable to specify identifier of current build.

Sparse Checkout Folders Script

No

This is very useful when you have many folders in your Git repository, but your project only needs few folders for build. This can be specified as one more values by using comma. For example, HRDemoApp, which will only pull HRDemoApp from Git repository. Continuous integration support will make sure to check for changes only in these folders as well if configured.

Checkout Folder Script

No

Optional sub-folder to use for clone operation during build workflow execution.

...

If you have multiple CVS repositories in your environment, then you can utilize the second approach to configure the project based on some criteria. You can accomplish this by placing an "if" statement within Groovy script for the defaults. With this approach all attributes in CVS configurations will be empty initially, and when user selects CVS Instance, configuration values will be defaulted appropriately.

Field Name

Required

Description

CVS Instance

Yes

An SCM Instance representing a CVS repository. See the Instances section to create SCM Type Instance. Refer to the Instances page for more on SCM Instances.

Module Names Script

Yes

Module Names or Module subdirectories to be selected from repository. Module subdirectories should traverse starting at the Module Name. Multiple Modules may be selected by separating the names/paths with commas.

Branch Name Script

Yes

Path for the branches within selected repository. Use StreamName variable to identify branch name used at runtime.

Tag Script

Yes

Tag script to be used when creating tags for the project in the repository. Use ProjectVersion variable to specify identifier of current build.

Checkout Folder Script

No

Optional sub-folder to use for clone operation during build workflow execution.

...

Defaults for TFVC source configurations can be configured using Project Microsoft TFS TFVC Setup Defaults. This can be configured such that

...

If you have multiple TFVC repositories in your environment, then you can utilize the second approach to configure the project based on some criteria. You can accomplish this by placing an "if" statement within Groovy script for the defaults. With this approach all attributes in TFVC configurations will be empty initially, and when user selects TFVC Instance, configuration values will be defaulted appropriately.

Field Name

Required

Description

TFVC Instance

Yes

An SCM Instance representing a TFVC repository. See the Instances section to create SCM Type Instance. Refer to the Instances page for more on SCM Instances.

Main Path Script

Yes

Main Path to a project in the selected repository.

Branch Path Script

Yes

Path for the branches within selected repository. Use StreamName variable to identify branch name used at runtime.

Label Name Script

Yes

Label script to be used when creating labels for the project in the repository. Use ProjectVersion variable to specify identifier of current build.

Get Folder Script

No

Optional sub-folder to use for clone operation during build workflow execution.

PVCS SCM Configurations

For PVCS one or more project sources can be configured with the details as described in table below. FlexDeploy provides flexibility by supporting groovy script to define these values. Click on expression button to include variables as part of the value. Additional sources can be added by Clicking on the Add Source button.

Info
iconfalse
titleRelease

PVCS was made available in the 4.5.3 release of FlexDeploy


Defaults for PVCS source configurations can be configured using Project PVCS Setup Defaults. This can be configured such that

  1. All PVCS project sources will get same values (including PVCS Instance), or
  2. you can configure defaults by PVCS Instance. First approach works well if you have single PVCS repository.

If you have multiple PVCS repositories in your environment, then you can utilize the second approach to configure the project based on some criteria. You can accomplish this by placing an "if" statement within Groovy script for the defaults. With this approach all attributes in PVCS configurations will be empty initially, and when user selects PVCS Instance, configuration values will be defaulted appropriately.

Image Added

Field Name

Required

Description

PVCS Instance

Yes

An SCM Instance representing a PVCS repository. See the Instances section to create SCM Type Instance. Refer to the Instances page for more on SCM Instances.

Project Path Script

Yes

Project Path Script to be used to get files from.  This will be a path present in the Project Database configured on the instance.  Use "/" to get all files in the Project Database.

Promotion Group ScriptYesPromotion Group name to be used.  Use StreamName variable to identify Promotion Group name at runtime.
Use Promotion Group ScriptYesWhether the Promotion Group script should be used to identify the stream.  If false, then the branch script will be used.

Branch Name Script

Yes

Branch name to be used within selected repository. Use StreamName variable to identify branch name used at runtime.

Label Script

Yes

Label script to be used when creating labels for the project in the repository. Use ProjectVersion variable to specify identifier of current build.

Checkout Folder Script

No

Optional sub-folder to use for clone operation during build workflow execution.

Streams Configuration

A stream represents a branch of development. By default, a Main Stream is created along with the project, typically representing trunk/head stream for the project. You can add additional streams by clicking on the Create Stream button. Enter the fields for the stream using the details in table below.

...