Applying Service Updates
This section describes the apply service update process in Release Update Studio.
IFS Update Analyzer downloaded and installed on the users' workstation. The tool can be downloaded from the IFS Developer Portal.
Fetching a Service Update to the Release Update Studio
Follow the below steps to fetch a service update to Customer Baseline repository.
- Go to IFS Lifecycle Experience portal and navigate to Release Update Studio view.
- Click on button "Service Update" in the Release Update Studio view.
- Select the target service update from the drop down.
- Click on 'Apply'.
Once the service update has been applied to the customer baseline repository, a "Pending" status will be displayed for the Customer Baseline Repository. Once the service update is successful, the tag will indicate the new update.
Analyzing the impact of the Service Update
After the Customer Baseline repository has been updated with the service update, the Update Analyzer tool can be used to analyze the impacts of fetching this update to the Customer Solution which contain the customizations. To do this, follow the below steps;
- Open the Update Analyzer tool and select the Git integration button.
Provide below information to Update Analyzer GIT-Info dialog
- Customer Baseline repository URL
- Customer Solution repository URL
- An empty folder to checkout files
- Note: Provide a directory with a short path to avoid errors with cloning files having long directory paths. [This error occurs due to the windows limitation on file path length]
- Path to git.exe file
After entering Customer Baseline repository URL, click on button "Get Tags".
Base and Target UPD drop downs will be populated with tag names in Customer Baseline repository.
Select appropriate base and target tags from the drop downs. Base UPD refers to current update of the Customer s]Solution and the Target UPD refers to the update to be moved on to.
After entering Customer Solution repository URL, "master", "delivery branch" and "release-update" radio buttons get enabled.
Select the "release-update branch" option to analyze the impacts for customizations in Customer Solution repository release-update branch.
Upon checking the option, tool will run a validation to check if the release-update branch exists in Customer Solution repository.
If release-update branch does not exist, the selection will be automatically changed to the master branch option.
Once all input fields are filled in, click on button "Checkout Files".
Update Analyzer will create three folders inside the location given to checkout files
- Base folder: Will contain a shallow clone of Base UPD tag
- Target folder: Will contain a shallow clone of Target UPD tag
- Cust folder: Will contain a shallow clone of Customer Solution repository release-update branch
Once all three clones have been completed, click on button "Proceed Analysis".
Update Analyzer will then extract the customized files from Cust Folder and move them to a new folder called "ExtractedCust".
A list of file names extracted into this folder could be found in file "Customized Files.txt" inside the checkout location.
Paths to Base folder, Target folder and ExtractedCust folder will be populated into Update Analyzer main window at the end of extract operation.
Perform update analysis, a component structure analysis will be performed with the given input fields.
Merge the Service Update to the release-update branch
- Clone Customer Solution repository.
git clone <customer-solution-repo-url>
- Change directory to the cloned folder.
- Add an upstream to Customer Solution repository pointing to Customer Baseline repository.
git remote add upstream <customer-baseline-repo-url>
- Create and checkout a topic branch based on the release-update branch.
Branch name format: "topic-ru/username/..."
git checkout release-update git checkout -b <branch-name>
- Pull from upstream. ( i.e. from Customer Baseline repository release-update branch)
git pull upstream release-update
- Fix merge conflicts. (if exists)
- Carry out required changes identified by update analyzer run.
- Git add, commit and push local changes.
git add . git commit -m "meaningful commit message" git push origin <branch-name>
- Create a topic environment and verify the changes.
- Create pull request and merge the topic branch to customer-solution repository release-update branch.
- Delete remote and local topic branches.