Versions Compared

Key

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

...


Enter/modify values for the following different configurations for the Project.

Project Configuration

 

Field Name

Required

Description

Active

Yes

Whether or not the project is active. Build and Deploy workflows cannot be executed on inactive projects.

SCM Type

Yes

Type of the Source Control Management. Default value can be configured using Project Defaults.

Deploy Priority

Yes

Provides a mechanism for establishing dependencies between projects at deployment time. When multiple deployments are queued they will be processed in order of priority (lowest priority takes precedence). The scope of the deployment priority is defined by the Deploy Priority Scope.

Deploy Priority Scope

No

Defines the scope in which deploy priorities are evaluated at runtime. Application scope indicates this project's deployment priority will be evaluated against other projects in this application only. Folder scope indicates this project's deployment priority will be evaluated against other projects in this application's parent folder. Global scope indicates this project's deployment priority will be evaluated against all other FlexDeploy projects.

Description

No

A description of the project.

Build Workflow

Yes

The build workflow to run for this project's builds. Build workflow will execute on specified Build Instance.

Build Instance

Yes

The instance to run the build workflow on.

Deploy Workflow

Yes

The build workflow to run for this project's deployments.

Deploy Instance(s)

Yes

One or more deploy instances available to run deploy workflows on.

...

SCM Configuration

The SCM configuration is based on the SCM Type that is selected for the project, and is currently applicable for SubVersion and Git 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. 

Variable Name

Description

ProjectName

Name of current project being built.

StreamName

Name of current stream being built.

MainStream

Evaluates to true if current stream being built is main stream.

ProjectVersion

Project version name being built.

StreamAttribute1

Attribute 1 of stream being built.

StreamAttribute2

Attribute 2 of stream being built.

StreamAttribute3

Attribute 3 of stream being built.

...

SubVersion SCM Configurations

...

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.

 

Git SCM Configurations

For Git one or more project sources can be configured with the details as described in Figure 9.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 Git project sources will get same values (including Git Instance), or 2) 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.



Figure 9.10

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.

...