Skip to content

Ordering Deliveries

Delivery Creation

To order a delivery, from the IFS Lifecyle Experience portal, go to a Build Place and select 'Order Delivery'.

A side panel will open. It will have three fields that need to be set in order to order a delivery.

The following parameters needs to be provided when ordering a delivery.

**Delivery TypeDeliveries can be of two types.

  • Normal
  • Corrective

The first step when creating a delivery is to decide what type of delivery is to be made. For regular deliveries, select 'Normal' type delivery. In special situations where a fix needs to be delivered on a delivery which is already deployed in the customer's use place, the 'Corrective' delivery type can be used.

Delivery Baseline
Delivery Baseline is the baseline delivery on which the new delivery will be based on. The new delivery will be applied on top of the selected delivery baseline. Delivery baseline can be either the initial delivery or a recent delivery.

Target Commit / Branch
Target commit is the commit tag which should be made into a delivery. This could be a sanity tag for a Normal delivery or, a delivery tag in case of a Corrective delivery.

For Normal type deliveries, all sanity tags which are newer than the selected Delivery Baseline will be shown. Select the one preferred. The most recent sanity tag will be automatically selected.

For Corrective type deliveries, the matching delivery tag will be shown if a branch with the same name as the baseline delivery tag is also available in the Build Place's Customer Solution Repository. See section Additional Instructions when creating a Corrective Delivery

Delivery ID
Delivery ID is an auto-generated value. This will be the unique name of each delivery. The ID follows the format of del-ifs-cloud-<version tag>-<build place ID>-<delivery version>-<datetime in UTC>-OK, where the 'delivery version' will differ between Normal type deliveries and Corrective type deliveries. This versioning difference will be discussed in the next section.

Furthermore, the delivery tag for the delivery being created will also be based on this delivery ID.

Delivery Versioning
The Delivery version is composed of three sections. They are,

  • Major version (A)
  • Minor version (B)
  • Revision (C)

The delivery version always follows the format 'A.B.C'.
The major version will always start with '1' and increment. It will be restart whenever the version tag of the IFS Cloud application changes (Service Upgrades etc).
The minor version will always start with '0' and increment. It will be incremented with each successful Normal delivery creation.
The revision number will always start with '0' and increment. This will only be incremented in case of a Corrective delivery based on a Normal delivery.

eg:
The Initial Delivery of a Build place will be of the format 1.0.0
The next Normal Delivery will have the version number 1.1.0
A Corrective Delivery based on 1.1.0 will have the version number 1.1.1

Once all fields have been appropriately filled, click Order button on the side panel to place the order. A new entry in the Build Place Environments will be created along with a message if the operation was successful.

After the Delivery is created

After the Delivery is successfully created,

  • A Successful Delivery Environment is created
  • Customer Solution Repository is tagged with a <delivery-id>-PENDING tag
  • The relevant Delivery Package and the Delivery Logs will be available for downloading in the Deliveries Section of the Build Place
  • The 'Approve' button will be visible and clickable on the relevant Delivery Environment

Once the Delivery is tested and ready, the tester should click on the 'Approve' button on the relevant delivery environment. This,

  • Marks the Delivery environment as 'Approved'. Further clicking on the button is not possible.
  • The <delivery-id>-PENDING tag in the Customer Solution Repository is updated to <delivery-id>-OK tag.
  • The details in the Delivery section of the Build place is updated.

Applying the Delivery to the Use Place

This is handled in two ways, depending on the Residency option a customer has selected for their Use Place.

Residency Option 1 - IFS Cloud:

In this case, the approved delivery can be applied to the use place by using a scheduled job via SNOW. Below process explains the delivery deployment of IFS Cloud.

Use Place Management Form in SNOW

CSM Portal - https://support.ifs.com/csm

IFS Lifecycle Experience Use Place Managment Form can be found as below.

Enter customer details, use place details and scheduling

Residency Option 2 - Remote

In this case, the user has to download the delivery via the Deliveries section in the Build place and apply \it themselves.\The user must first have a properly configured remote Use Place to apply a delivery. The scripts and other items needed to set up a remote Use Place can be found in the 'Manage Deployments' section in the Build Place, if the customer's residency option is of type 2 (Remote).

A sample screen shot of the 'Manage Deployments' section.

Additional Instructions when creating a Corrective Delivery

The purpose of the Corrective delivery is to provide the capability to add some 'cherry-picked' changes to an existing delivery. One use case of this would be to fix a bug that was found in the earlier delivery after it was released. The bug had been fixed in the most recent code, but in this case not all the recent changes are required to be applied to the existing delivery, only the fix. The workflow needed to create such a delivery is described below.

First, the Delivery Baseline to be fixed is to be identified. Once it has been identified, its matching repository tag needs to be found. To do this, navigate to the Customer Solution Repository URL in the Build Place and select 'Tags' under 'Repos'.

All the repository tags will be available here. Please note-down the Successful Delivery tag that is identical to the selected Delivery Baseline. The Delivery tag follows the format of <Delivery Baseline Name>-OK.

For example;

if,
the Delivery Baseline is: del-ifs-cloud-21.1.0-gatest7-1.0.0-20210303T103434Z-OK
then,
the Delivery tag: del-ifs-cloud-21.1.0-gatest7-1.0.0-20210303T103434Z-OK

Once the Delivery tag has been found, the Delivery Branch needs to be created from this tag.

The branch naming follows the format: <Delivery Baseline Name>-OK. This branch is for cherry picked changes which should be applied on top of the selected Delivery Baseline.
The branch can be created using the following Git command in the local repository. This option should be available in any popular Git GUI client as well.

git checkout -b <New branch name> <Delivery tag>
; please note that the New branch name should be the same as the Delivery tag.

For example:
if,
the Delivery tag: del-ifs-cloud-21.1.0-gatest7-1.0.0-20210303T103434Z-OK
then,
Delivery Branch name is: del-ifs-cloud-21.1.0-gatest7-1.0.0-20210303T103434Z-OK

Then using 'Git cherry pick' command, apply the needed changes to the Delivery Branch from the 'master' branch.

It is highly recommended that if any new changes need to be done to support the fix, to do those changes in separate topic branches and then merge them to master branch first. Cherry pick the required changes from the master branch to the Delivery Branch. This way all changes done to the code will be persisted in the master branch.

Once the changes have been finalized, follow the instructions in the "Create a Delivery" section with Corrective type delivery to create the new delivery.