Versions Compared

Key

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

...

Open an existing project and click on Configuration, Source Control tab.

Source Configuration

Source configuration is is selecting the SCM Type and repositories for the project.

...

The Attributes are optional data that you can use to give different values to executions based on which branch you built from.

...

Subversion Source Configurations

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

...

First approach works well if you have a single Subversion repository. If you have multiple Subversion repositories in your environment, then you can utilize second approach to configure 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 Subversion configurations will be empty initially, and when user selects SVN Instance, configuration values will be defaulted appropriately.

Tip

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

  • Trunk Path (used only for main Branch ) - /trunk/HumanResources/Project1

  • Branch Path (used for all Branch other than main) - /branches/HumandResources/Project1/fixpack1

  • Tag Path - /tags/HumanResources/Project1/1.0.0

This structure does not need to match with your Subversion repository. You just need to define Groovy scripts to match your repository structure.

...

Field Name

Required

Description

SVN Instance

Yes

An SCM Instance representing a Subversion repository. See Instances section of this guide to create SCM Type Instance. Refer to the SCM Instances page for more information.

Trunk Path Script

Yes

Path for the trunk within selected repository.

Branch Path Script

No

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

Tag Path Script

No

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

Checkout Folder Script

No

Optional sub-folder to use for export/checkout operations during build workflow execution.

Git SCM Configurations

For Git 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.

...

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 If Project Name is Project1 and Branch 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 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 SCM Instances page for more information.

Branch Name Script

Yes

Path for the branches within selected repository. Use BranchName 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. Multiple folders can be separated by commas.

Continuous integration support will make sure to check for changes only in these folders as well if configured.

e.g. “HRDemoApp” -only pull HRDemoApp from Git repository.

e.g. “HRDemoApp,ConfigPlans” -only pull folders HRDemoApp and ConfigPlans (and their contents) from Git repository.

Checkout Folder Script

No

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

CVS SCM Configurations

For CVS 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.

...

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 SCM Instances page for more information.

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 BranchName 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.

TFVC SCM Configurations

For TFVC 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.

...

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 SCM Instances page for more information.

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 BranchName 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.

...

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.

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 SCM Instances page for more information.

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 Script

Yes

Promotion Group name to be used.  Use BranchName variable to identify Promotion Group name at runtime.

Use Promotion Group Script

Yes

Whether the Promotion Group script should be used to identify the Branch.  If false, then the branch script will be used.

Branch Name Script

Yes

Branch name to be used within selected repository. Use BranchName 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.

Click the Save button to save the changes.

...