FlexDeploy's built-in Continuous Integration capabilities allow developers to setup various triggers for builds & deployment workflow executions. On the Project's Continuous Integration tab click on the Create button and select Trigger Type to create triggers.
Triggers setup for Scheduled Build based on Release Scheduled Build configuration can not be deleted from this page. You can configure Workflow Input and FlexFields for those triggers by clicking on Trigger Type link.
The following trigger types can be created to achieve Continuous Integration and Continuous Delivery.
Poll SCM Trigger
Use this trigger type to poll source control system and build automatically if any change is found.
- Select the Build Environment, Stream and specify the interval minutes to Poll SCM for changes.
- Polling from SCM is supported for Subversion, Git, Microsoft TFS, Perforce and CVS SCM Types.
- For Git, the Git executable must be installed on FlexDeploy server and it must be accessible in PATH. The Git executable version must be 1.7.9 or higher.
- If FlexDeploy is installed on Windows
- Do not install "Git Credential Manager".
- If "Git Credential Manager" is already installed, then update global configuration using command - "git config --system --unset credential.helper".
- Do not install "Git Credential Manager".
- If Release is selected and that specific Release is in Started mode, at the end of successful build due to Poll SCM trigger it will trigger creation of new release snapshot.
- Click the Save button to save the changes.
Project must be configured with build workflow & instance as well as SCM Type must be either SubVersion, Git, Microsoft TFS, Perforce or CVS for using Poll SCM trigger type.
FlexDeploy will automatically initiate build request when change is found in SCM Repository in comparison to previous version of the same project stream. If build work requires inputs, you can configure inputs as well on this screen.
Scheduled Build
Use this trigger type to schedule builds at a certain time using cron expression. Select Build Environment, Stream & enter values for cron expression, project build workflow inputs (if any).
- Use plus icon button to utilize sample cron expressions, clear the contents of the Cron Expression input before using a sample expression. This trigger type is useful if you have a requirement to schedule builds at a certain time of day, like 7:00 am.
- If Release is selected and that specific Release is in Started mode, at the end of successful build due to Poll SCM trigger it will trigger creation of new release snapshot.
- Click the Save button to save the changes.
For details on Cron Expression Syntax see http://www.quartz-scheduler.org/api/2.2.1/org/quartz/CronExpression.html.
Scheduled Deploy
Use this trigger type to schedule deployments to an environment at a certain time(s) using a cron expression. Select the Deploy Environment, Stream & enter values for cron expression, project deploy workflow inputs (if any) and Flexfields (if any).
- Use plus icon button to utilize sample cron expressions, clear the contents of the Cron Expression input before using a sample expression. This trigger type is useful if you have requirement to deploy at certain time of day, like 8:00 pm, to a Development environment.
- Click the Save button to save the changes.
For details on Cron Expression Syntax see http://www.quartz-scheduler.org/api/2.2.1/org/quartz/CronExpression.html.
Post Build Trigger
Use this trigger type to trigger a Deployment after any successful Build of this project. This will be fired immediately after any kind of successful build (Manual or Scheduled or Poll SCM Trigger).
- Select the Deploy Environment, Stream & enter values for project deploy workflow inputs (if any) and Flexfields (if any).
- Click the Save button to save the changes.
You can use these triggers in any combination to achieve continuous integration. A few examples are provided below:
- Poll SCM and Deploy to multiple environments
- Setup Poll SCM Trigger for every 30 minutes.
- Setup Post Build Trigger to deploy to Dev immediately after a successful build.
- Setup a Schedule Deploy to QA every Monday 7am (cron: *0 0 7 ? * MON ** ).
- Scheduled Build and Deploy
- Setup Scheduled Build for every day at noon (cron: 0 0 12 * * ? ).
- Setup a Post Build Trigger to deploy to Development environment.
For any trigger, you can configure Workflow Inputs or FlexFields by clicking on Trigger Type link.