Build REFS Rollout Task
Build REFS Rollout Task
Description
The Build REFS Rollout Task builds a Rollout for REFS components. It builds an artifact that contains a complete REFS rollout, in the same format as provides hotfixes for REFS components.
See the details of the build process below
Task Type
This task can only be used in build plans (not Deployment Plans)
Task Screen
Field | Description | Sample Data |
---|---|---|
Description | Description for this task. | Build REFS Rollout |
Disable this task | To temporarily disable the task | |
Add condition to task | Add a condition to this task. More details here | |
Rollout Suffix | Text to append to Jira Version to create the rollout name. If left blank, the rollout name will be the same as the Jira Version. | -REFS |
REFS Directory | Directory in LES representing the rpweb/deploy directory where the refs customizations are located. Relative to the LES directory, E.g. refs or refs_deploy | refs |
REFS Jar Path | Path name for jar files that are usually in a REFS rollout provided by BY in the bin folder. These jar files are assumed to be committed to the repository. Provide the path in the repository where these jar files can be found. | refs\bin |
Steps in the Build Process
- When the task 'Build WM Rollout' runs, the plugin goes through the following steps:
- When the build was triggered from a Jira release, Bamboo collects all Jira issues in this Jira release.
- Scan the Version Control repository for all commits that include the Jira Issue numbers from the list of Jira Issues.
- Collect all files that are linked to these commits
- Sort and filter these files, and only get the latest version of each file
- Create a Rollout package from the sorted and filtered files. The end result is a standard Rollout package that could potentially be installed using the regular (manual) installation process.
- The Rollout is stored as an artifact in Bamboo for furter processing in later steps
Added, Modified, Deleted and Renamed files
The Build Rollout task deals with files that were added, modified or renamed in the version control system.
It looks at the latest version of each file within a Version/Rollout and determines if the commit 'action' was an Add, Delete, Modify, Rename or Copy.
In case of an Add, Modify or Copy, we just add the file to the rollout, so it will add or replace the file in the target environment during installation.
In case of Delete, it will add a 'REMOVE' statement in the rollout install script (as opposed to the regular 'REPLACE' statement)
In case of a Rename action, it will add the new file name to the rollout as new file. In addition, it will place a 'REMOVE' entry in the rollout install script for the old file name.
How are Files Sorted
Once we have all the latest versions of each file, it is important that files are installed in a certain sequence. This is mostly relevant for .csv files or other configuration files that update data in the databse.
Two factors are important here:
- certain data uploads are dependent on other data uploads to exist
- older configurations should not overwrite more recent configurations (within the same rollout)