...
The SCM configuration is based on the SCM Type that is selected for the project, and is currently applicable for SubVersion, Git, Microsoft TFS and Git CVS 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.
...
For Subversion one or more project sources can be configured with the details as described in the table belobelow. 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.
Defaults for SubVersion source configurations can be configured using "Project SVN Subversion Setup Defaults". This can be configured such that 1) all
- All Subversion project sources will get same values (including SVN Instance), or
...
- you can configure defaults by SVN Instance.
First approach works well if you have 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.
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.Instances |
Trunk Path Script | Yes | Path for the trunk within selected repository. |
Branch Path Script | No | Path for the branches within selected repository. Use StreamName variable to identify branch name used at runtime. |
Tag Path Script | No | Path for the tag within the selected repository. Use ProjectVersion variable to specify identifier of current build. |
Checkout Folder Script | Yes | Optional sub-folder to use for export/checkout operations during build workflow execution. |
...
For Git one or more project sources can be configured with the details as described in Figure 9table below. 11. 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.
Defaults for Git source configurations can be configured using "Project GIT Setup Defaults". This can be configured such that 1) all
- All Git project sources will get same values (including Git Instance), or
...
- you can configure defaults by Git Instance. First approach works well if you have single Git repository.
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.
Field Name | Required | Description |
---|---|---|
Git Instance | Yes | An SCM Instance representing a Git repository. See the Instances section to create SCM Type Instance.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. |
Figure 9.11
CVS SCM Configurations
For CVS one or more project sources can be configured with the details as described in Figure 9.13table 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.
Defaults for CVS source configurations can be configured using "Project CVS Setup Defaults". This can be configured such that 1) all
- All CVS project sources will get same values (including CVS Instance), or
...
- you can configure defaults by CVS Instance. First approach works well if you have single CVS repository.
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.
Figure 9.12
Field Name | Required | Description |
---|---|---|
CVS Instance | Yes | An SCM Instance representing a CVS repository. See the Instances section to create SCM Type Instance.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. |
Figure 9.13
TFVC SCM Configurations
For TFVC one or more project sources can be configured with the details as described in Figure 9.15table 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.
Defaults for TFVC source configurations can be configured using "Project TFVC Microsoft TFS Setup Defaults". This can be configured such that 1) all
- All TFVC project sources will get same values (including TFVC Instance), or
...
- you can configure defaults by TFVC Instance. First approach works well if you have single TFVC repository.
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.
Figure 9.14
Field Name | Required | Description |
---|---|---|
TFVC Instance | Yes | An SCM Instance representing a TFVC repository. See the Instances section to create SCM Type Instance.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. |
Figure 9.15
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 Figure 9table below.1
Figure 9.16
Field Name | Required | Description |
---|---|---|
Stream Name | Yes | Name of the stream. |
Version Syntax Script | Yes | Groovy script used to generate the project version id for build requests. Use the SequenceNumber variable to use an auto |
incrementing integer for each build of the stream. Use Source1Revision variable to use the latest SCM revision number of the first project source (i.e. Source 1). | ||
Attribute 1 | No | An optional attribute which can be used in groovy expressions within the SCM source(s) configuration. |
Attribute 2 | No | An optional attribute which can be used in groovy expressions within the SCM source(s) configuration. |
Attribute 3 | No | An optional attribute which can be used in groovy expressions within the SCM source(s) configuration. |
Description | No | Description of the stream. |
...
Click the Save button to save the changes.
...