In this blog, I will summarize the steps required to transport a Portal site on SAP Cloud Platform using the new Cloud based Transport Management service (currently available as beta version). There are several ways to transport a Portal site – the most common one being export/Import of a site between Cloud Platform accounts ?. Another option to transports portal sites is to leverage an on-premise CTS+. Arne Stich has posted an excellent blog on transporting portal sites using CTS+.
CTS+ is a great option when you have a hybrid landscape and you are required to tie in your Cloud Portal changes with the change requests in an on-premise system. It also becomes relevant when you have to integrate with an on-premise change management tool like Solution Manager ChaRM. Though this is a great option, it may not be the best choice for everyone. Based on few CTS+/ChaRM implementations which I have seen, there is a tight governance around raising change requests and progressing a change all the way to Production. In some instances, I have seen organizations have very few change windows and allow changes to flow into Production less frequently. This is for a reason – to protect their core systems.
SAP Cloud Platform is an agile innovation platform which enables organizations to deploy applications in weeks. This is the place for them to experiment with all the new technologies and be able to take their products to the market in a quicker timeframe. Hence, there is a need for a simple Transport Management on the Cloud Platform which does not always have to rely on an on-premise system or on-premise change management process. I believe this is where the new Transport Management service on SAP Cloud Platform fits in. This is great for cloud-centric organizations and for those who don’t require an ABAP based system to transport Cloud artefacts.
There is a comprehensive SAP Help documentation for Transport Management service.
As of today, it support the transport of the following
- Multi-Target application archives (mtar files)
- Cloud Platform Integration contents
- HANA XS classic Delivery Units
Its important to note that Transport Management service runs on Cloud Foundry environment even though it supports the transport of cloud artefacts in Neo environment. In the below image, you will notice Landscape configurations can be created with a set of nodes and routes to define how the transport contents flow within the landscape. Destinations are established for communication with subaccounts in Neo environment. I will explain these in detail while I walk through the steps below.
Blueprint Diagram has been Referenced from this blog
The first thing you would need to begin with is subscription to Transport Management service. Since this service is available as part of closed beta program, you would need to request participation.
There are already couple of some awesome blogs posted by community stars
- Wouter Lemaire – Transport MTA UI5 apps with Transport Management Service
- Fabian Lehmann – Getting started with SAP Transport Management Service (beta) for SAP Cloud Platform
These blogs focus on using this service to transport Cloud Platform Integration and SAPUI5 apps. Most of these steps have already been covered, but I will focus on steps to transport Portal sites.
Once you have the relevant subscriptions assigned to your Global account in Cloud Foundry, you will be able to navigate to the Entitlements and assign the quota to the subaccounts. In the below example, I have assigned the quota to a subaccount by name “TMS”.
Within your subaccount, enable the subscription “SaaS Applications – Transport Management Service”.
The next step is to create a Role collection and assign the relevant roles. Under Security > Role Collections, create a new Role Collection. I have given the name “TMS_RC”.
Within the Role collection, add a role for application “alm-ts!t339” and select Administrator for Role Template & Role.
Finally, you would need to add this new Role collection to your profile. Under Security >Trust Configuration, select “SAP ID Service”.
Provide your user detail and click on “Add Assignment” to assign your user to the new Role Collection. If the button is not enabled, try to first click on “Show Assignment”.
With this you should be ready to access the Transport Management service. Click on the link “Go to Application”.
This will launch a new window and take you to the Transport Management service. In the overview screen, you get a snapshot of the current status – Import Queue and number of successful/failed imports.
The landscape configuration can be done using the menu items on the left hand side. Before that, I would like to show you the setup of my accounts in the Neo environment.
I have a global account called “ITeLO” in the Neo Environment and have 3 subaccounts – DEV/TST/PRD. For this blog, I am going to show how to transport portal sites all the way from DEV – TST – PRD.
Now let’s switch back to the Cloud Foundry environment and setup destinations to these 3 subaccounts in Neo environment. In the below screenshot, I have created 3 destinations namely “TMS_To_DEV, “TMS_To_TST” and “TMS_To_PRD” each of them pointing to the Solution Lifecycle endpoints within each subaccount.
In case of MTA deployment on Neo, the deploy end point is the Solutions Lifecycle Management service: https://<host>/slservice/slp/basic/<ID of the Neo account>/slp.
Solutions Lifecycle Management can be found as a separate service in the Neo environment.
Navigate to the Transport Management Service and create a Landscape configuration. From the Landscape Wizard menu, select the node landscape. In my example, I have three system landscape – DEV/TSTS/PRD. Hence, I have selected “Three Node Landscape”.
Transport nodes represent a source and target end points of a deployment process. Transports take place between transport nodes. Provide a meaningful name for each of the nodes and select the content types which are supported. Notice that the destinations created earlier need to be also assigned the relevant nodes.
Finally define the transport routes which are used to connect the transport nodes.
Proceed with the wizard and in the summary you will be provided with a list of the created nodes/routes.
Navigate to “Transport Nodes” menu and you will be able to see a list of all the nodes which have been created.
Clicking on a transport node will take you to the detailed screen which shows the Import queue as well as the associated routes.
With this, we have completed all the configuration steps for Transport Management Service.
Now its time to switch over to the Neo environment and start working with Portal sites. I have deployed few HTML5 apps as well as themes which would be used by my portal site. The below screen capture is from the DEV subaccount in Neo environment.
In the Site Directory, I have one portal site called “Supplier Portal” which is in published state.
This Portal site is based on Fiori Launchpad and references few of the HTML5 apps which are deployed in the same subaccount. This site is also attached to a theme.
I can begin the export process by using the “Export” option from the Site Directory.
In the “Export Site” popup, I select the option “Content Package”. This will export all the portal artefacts including HTML5 apps and themes. The result is a Multi-Target application archive (.mtar file) which can be downloaded.
As a transport Administrator, you can navigate to the Transport Management Service and select the “DEV” transport node and use the “Add” button to upload the .mtar file into the queue.
In the upload file popup, select the .mtar file as shown below.
This will update the status of the transport contents to initial status. When I click on “Import” button, this would import the transport package into DEV transport node and the status would change to “Succeeded”.
I switch back to the DEV Subaccount in the Neo environment and I would be able to see a new solution deployed from the “Solutions” menu. The name of the solution matches the portal site ID.
Clicking on this solution would take me to the detailed screen where I can view the relevant HTML5 apps/themes/Portal site configuration which it contains.
On Transport Management Service overview screen, I also get to see that there is an Import which is pending into TST environment.
As a transport administrator, I can open the transport node “TST” and confirm that the transport package is now in the Import Queue of TST environment. I can click on “Import” button to start the import process.
Once the status changes to “Succeeded”, I would be able to find the solution deployed in the TST subaccount of Neo environment.
Similarly, the HTML5 apps/Portal themes would have also been transported
The Portal site would be in offline state in the Site Directory and it needs to be published.
Soon after publishing the site, we can explore the apps in the TST environment.
You can repeat the same process to progress the change to PRD landscape from here.
Transport Management Service also offers detailed logs against each action that is performed
You can drill down to each of the actions and view the relevant objects which are being transported across accounts.
I am very excited about this new service on SAP Cloud Platform and would like to thank Harald Stevens for providing me an opportunity to use the Transport Management service which is currently in beta. This is a major step to manage lifecycle of applications/solutions on SAP Cloud Platform.