The application life cycle experience has four phases - Explore, Define, Build and Use. Out of these four phases IFS Lifecyle Experience on IFS Cloud 21R1 targets the Build phase.
Customer Solution: Refers to the entire code base which consists of core IFS components and any customer specific code developed by the customer.
Customer Solution Developer: Refers to system-end-users who will be doing code, build and delivery management of the customer solution.
Customer Baseline: Refers to the code base which only consists of core IFS components. This includes any service or release updates of IFS Cloud applied to the code base.
Main components of the Solution
The main components of the IFS Lifecycle Experience Solution are;
IFS Cloud Master Repository This consists of all IFS Cloud core releases.
IFS Developer portal published on 'developer.ifs.com ' Customer Solution Developers will download IFS Developer tools required for development on IFS Cloud from the developer portal to their local workstations.
Azure DevOps Services This consists of Azure repositories and Azure pipelines which are used for code management, build management and delivery management of the customer solution.
Azure Resources This comprises of self provisioned Azure VMs consisting of IFS Cloud 21R1 Environments ordered by the users of the IFS Lifecyle Experience solution. The environments can be provisioned from different stages of the customer solution code base as requested by the user. A single azure resource group will be created per customer solution. It also consists of Azure Storage services used for storing Artifacts and deliveries of the customer solution.
IFS LifeCycle Experience Portal This portal will be used by the users of the system. Administrators will use the portal to setup, manage and decommission customer solutions. End users will use this portal to trigger actions related to Customer solution development. Applying Service Updates released by IFS and Investigate support issues related to software faults in the underlying product hosted in the solution.
Authentication to all of the above components is managed through the IFS Azure Active Directory (Azure AD). The 3 components - Azure Dev Ops Services, Azure Resources and the IFS Lifecycle Experience User Portal together forms the Customer Solution Cloud Build Place.
User Authorization of the System
There a six different user roles in the Lifecycle Experience solution namely; Build Place User Admin, IFS Product Support Developer, IFS Product Support Consultant, Customer Solution Consultant, Customer Solution Developer and Technician.
The following tables describes the user role permissions for the LE portal, Azure DevOps (ADO), and Release Update Studio.
User Role Permissions for LE portal Functionality
Initial Build Place Related Activities
|Solution Set Update||Yes||No||No||No||No||No|
|BP Configuration of Implementation Mode||No||No||No||No||No||Yes|
Subsequent Build Place Related Activities
|Analyze Service Updates||No||Yes||No||No||Yes||Yes|
|Manual Sanity Build||No||No||No||No||No||Yes|
|Create Build Home||No||No||No||No||No||Yes|
|Build Place Environments (Topic, Dev, Baseline, QAS)||View, Create, Delete||View, Create, Delete||View, Create, Delete||View, Create, Delete||View, Create, Delete||View, Create, Delete|
|VM Power operations||Yes||Yes||Yes||Yes||Yes||Yes|
Delivery and Deployment
|Create and Delete Deliveries||No||No||No||No||No||Yes|
|Build Place Settings||Read||Read||Read||Read||Read||Read, Write|
|Build Place Translation||Read||Read||Read||Read||Read||Read, Write|
|Refresh Portal Cache||No||No||No||No||No||No|
Azure DevOps (ADO)
|Customer Solution Repository (ADO)||No||Read||No||No||Read, Write, Approve Pull Request, Merge||Read, Write, Approve Pull Request, Merge|
|Customer Baseline Repository (ADO)||No||Read||No||No||Read||Read|
|Apply Service Updates to Baseline (ADO)||No||No||No||No||Yes||Yes|
|Apply Service Updates to Solution (ADO)||No||No||No||No||Yes||Yes|
Release Update Studio Related Activities
|Request Release Update||No||No||No||No||Yes||Yes|
|Apply Release Update||No||No||No||No||Yes||Yes|
|Release Update Studio Environments (Topic, Dev, Baseline)||View, Create, Delete||View, Create, Delete||View, Create, Delete||View, Create, Delete||View, Create, Delete||View, Create, Delete|
|Complete Release Update Process / Cut-over||Yes||No||No||No||No||Yes|
|Abort Release Update Process||Yes||No||No||No||No||No|
Apart from the newly introduced functionality in the Release Update Studio, the functionality similar to that of the Build Place view, will be granted similar user role permission sets.
IFS Lifecycle Experience Portal
When logging into the IFS Lifecycle Experience Portal, initially the user will be redirected to the IFS Azure Active directory login page to log into the portal. The User can log into the portal using his/her credentials which have been previously registered with IFS.
This is the "My Build Places" view (default home page) which will appear after the user logged into the portal
After selecting one of the available build places, the user can view the build-place details. The following images contain the sub-components in the build-place detail view.
Users needing to access the database or the build home of a build place environment need to first configure a connection to the build place VPN from the user workstation
Build place environment information
Note : The "Network Share Information" section is applicable only for the release up to 21R1. Since there are no Build Home based development for environments created in 21R2 and beyond, all the logs related to the builds or environments can be download via the "Logs" page of the ALE Portal.
The IFS Lifecylcle Experience cloud build place contains several repositories.
Customer Baseline Repository
Customer Baseline repository is a clone of the master release repository. Initially the customer's required version will be pulled from the master repository. The customer-baseline will be tagged with the same tag used when pulling from master repository. Customer-baseline will contain only a single branch (master branch) and a single tag at the beginning. Number of tags will grow along with time. It holds all the IFS components released for that specific version (tag). Merges to the master branch of customer-baseline does not require pull requests at any point. It is a read only repository to all build place users. Update strategy of the customer-baseline is straight forward. When there is a need for a new service update, an IFS Support developer will pull that certain update version from the master repository and push directly to the customer baseline repository.
Customer Solution Repository
Customer-solution is a cloned repository of the customer-baseline. It has master as the main branch and many topic branches created by developers. Merge strategy for customer-solution is in two parts. When initializing the repository, it is basically cloning entire code from customer-baseline. After the initial commit is done, a policy is introduced to accept merges to the master only via pull requests. Reviewers to the created pull request will be automatically included from customer solution developer, customer solution technicians and IFS developers security groups. It needs at least a single approval from any of the reviewers. Update strategy for customer-solution is pull necessary tag from customer-baseline to a topic branch, solve any merge conflicts, push to the remote and merge to master via pull request. Customer-solution will be visible to all the users of a build place with repository access granted.
Overview of Build Place
When a new build place has been requested, it is created using the purchased version of the IFS Cloud product and the requested solution set.
During build place creation, the customer's required version of the IFS product is pulled from the master release repository to create the customer baseline repository, which in turn is cloned to create the customer solution repository.
The selected solution set is committed to both the customer baseline and customer solution repositories. For the customer solution repository, after the solution set has been committed, an intial sanity build followed by an initial delivery is created. This intial delivery will be the baseline for the succeeding deliveries created in the build place.
Once the Build Place has been created successfully, the following set up must be done before it can be used;
21R1 to 21R2 Differences
|Implementation Mode||IFS sales team must select the option – upgrading customer Yes / No, as part of the onboarding process of the customer.||Customer has the opportunity to select the mode of implementation option of upgrading, new or reimplementation|
|Impact Analyzer||Update Analyzer only supported analyzing the contents from the master branch given the customer-solution repository. Repo URLs should be entered manually by the user.||Update Analyzer supports analyzing contents from not only the master branch but also to analyze contents in a delivery branch and release-update branch.Repo URLs are fetched automatically when .upda files are opened from Update Analyzer.|
|Configuration Analyzer||Previous tool was used up to App10 and was able to do the configuration analysis using the interface report. This was a separate tool outside the IFS application.||Current tool is implemented within the Aurena client itself and supporting all IFS Cloud versions. This tools supports custom entities and customer attributes when analyzing the configurations. This tool supports configuration analysis to be done in both Build Place and Use Place provided all the configurations are maintained.|
|Build Place Logs||Pipeline URLs are used to view the status of a Build Place Activity||Logs are being introduced in a separate screen. Users can use the logs instead of Pipeline URLs. Accordingly, access to Pipeline URLs would be no longer be available.|
|Build Home||Build Home was shared in the Build Place environments||Build Home is not shared in the Build Place environments and Developer Studio now has the capability to do Aurena development without Build Home.|
|Environment (VM) Operating System||MS Window||Introduced Linux as OS as part of the Build Place performance optimization initiative.|