cTMS Setup for CAP Applications

Estimated read time 9 min read

cTMS Architecture – CAP Apps

Here we have four environments Dev, QA, UAT, and Prod each corresponding to a separate BTP subaccount. We have provisioned the Cloud Transport Management Service (cTMS) in a separate subaccount. The development team builds custom CAP applications using Business Application Studio (BAS) and deploys them to the Dev environment via a Azure CI/CD pipeline. So please note that, this not using SAP’s CI/CD pipeline. Simultaneously, the generated MTAR file is uploaded as a transport package to the QA node using cTMS. From there, it is imported into QA and the subsequent environments (UAT, Prod) through Solution Manager (SolMan), leveraging Focused Build (FB) or Charm status transitions.

Additionally, this setup can be integrated with SAP Cloud ALM.

Setup Steps:

Since several of these SaaS applications share common setup steps, please begin by following the initial setup steps outlined here Setting Up Cloud TMS for Various SAP SaaS Solutions 

Step1: Create Destinations to CF Subaccounts

In the subaccount where the Cloud Transport Management (cTMS) service is subscribed, create a destination to each target BTP subaccount. No destination setup for Dev node, as it’s dummy node. 

Name: Give appropriate name to resemble your CTMS Node

URL: https://deploy-service.cf.<domain>/slprot/<myorg>/<myspace>/slp

Note: If you have multiple space setup in your BTP, you will have to setup cTMS for those spaces separately. 

Authentication: OAuth2Password.

Note: This requires a valid username and password. It is recommended to set up a technical user in your IAS for this purpose. Ensure that the password for this user never expires to avoid disruptions in connectivity. You should setup the user with Custom password policy where the password never expires. Also this user requires a space developer role in BTP. 

Client id: cf

Secret: should be left empty

Token Service URL: https://login.cf.<domain>

Additional property:

Origin: This field is required and must be configured with the appropriate value when using a user from IAS. It should match the origin key defined for your IAS tenant. This can be found in IAS trust configuration in BTP subaccount. 

Step2: Configure Transport Nodes in cTMS

Prerequisites

You have been assigned one of the following roles: Administrator or LandscapeOperator.

From the cTMS UI, you can define transport nodes to represent your system landscape. There are multiple ways to create a node:

You can either Create a node on the Landscape Visualization screen or from Transport Nodes screen. 

Note:
For CAP application scenario, the Development node is setup as a dummy (virtual) node, as no transports are exported or deployed from Dev and they are directly handed over from CI/CD pipeline to CAP QA Node. 

Allow Upload to Node: Enable this checkbox to allow file uploads to the node. Usually enabled for the Dev node. But for CAP Apps scenario, the Dev node is a dummy node (no upload), and QA is the node where uploads are allowed. So select this for QA node. 

Forward Mode: Default value is Auto, You can change this setting based on your landscape and transport flow requirements.

Controlled by SAP Solution Manager: Select this checkbox only if you plan to integrate with SAP Solution Manager (e.g., Charm or Focused Build). For CAP scenario, we will only enable this for UAT & Prod, as the transports are uploaded to QA Node.  When you enable this, it will not allow manual imports from cTMS UI, only through Charm/FB status change. 

Note: If you plan to integrate with Cloud ALM, do not check this option. 

Content Type: For CAP applications, select Multitarget Application (MTA).

Destination: Select the appropriate target destination you previously configured in your cTMS subaccount in Step1.

Step3: Create Transport routes in cTMS

In SAP Cloud Transport Management, transport routes are used to connect transport nodes.

Name: Provide the appropriate name

Chose the Source node & Target node and click on OK. 

After setting up Transport Nodes & routes, your landscape looks something like this based on the number of environments you have. 

Note: You can also use Transport Landscape Wizard, with which you can setup the all your landscape nodes & routes at a time.

Step4: Azure Pipeline Setup to integrate with cTMS

This diagram explain the CI/CD pipeline flow for custom application development and deployment. Work with your Development Team to update your Azure pipeline.yaml file with code something like below to handover transports to QA node as part of deploying them to Dev. There could be additional configuration. 

Step5: Integrate with Solution Manager/Cloud ALM

To integrate Cloud Transport Management (cTMS) with SAP Solution Manager (Charm / Focused Build), follow the step6 from below article. 

If you want to integrate with Cloud ALM, follow the step7 from below article. 

 Setting Up Cloud TMS for Various SAP SaaS Solutions 

Conclusion:

I hope you have learned, how to setup cTMS for Custom Applications developed based on CAP, especially with Azure pipeline. Now the setup is complete and ready for transporting content using cTMS either integrated with SAP Solution Manager or Cloud ALM. 

Thank you for reading my article, feel free to provide any feedback or comment for any questions.

Thanks,
Raghu

 

​ cTMS Architecture – CAP Apps Here we have four environments Dev, QA, UAT, and Prod each corresponding to a separate BTP subaccount. We have provisioned the Cloud Transport Management Service (cTMS) in a separate subaccount. The development team builds custom CAP applications using Business Application Studio (BAS) and deploys them to the Dev environment via a Azure CI/CD pipeline. So please note that, this not using SAP’s CI/CD pipeline. Simultaneously, the generated MTAR file is uploaded as a transport package to the QA node using cTMS. From there, it is imported into QA and the subsequent environments (UAT, Prod) through Solution Manager (SolMan), leveraging Focused Build (FB) or Charm status transitions.Additionally, this setup can be integrated with SAP Cloud ALM.Setup Steps:Since several of these SaaS applications share common setup steps, please begin by following the initial setup steps outlined here Setting Up Cloud TMS for Various SAP SaaS Solutions Step1: Create Destinations to CF SubaccountsIn the subaccount where the Cloud Transport Management (cTMS) service is subscribed, create a destination to each target BTP subaccount. No destination setup for Dev node, as it’s dummy node. Name: Give appropriate name to resemble your CTMS NodeURL: https://deploy-service.cf.<domain>/slprot/<myorg>/<myspace>/slpNote: If you have multiple space setup in your BTP, you will have to setup cTMS for those spaces separately. Authentication: OAuth2Password. Note: This requires a valid username and password. It is recommended to set up a technical user in your IAS for this purpose. Ensure that the password for this user never expires to avoid disruptions in connectivity. You should setup the user with Custom password policy where the password never expires. Also this user requires a space developer role in BTP. Client id: cfSecret: should be left emptyToken Service URL: https://login.cf.<domain>Additional property:Origin: This field is required and must be configured with the appropriate value when using a user from IAS. It should match the origin key defined for your IAS tenant. This can be found in IAS trust configuration in BTP subaccount. Step2: Configure Transport Nodes in cTMSPrerequisitesYou have been assigned one of the following roles: Administrator or LandscapeOperator.From the cTMS UI, you can define transport nodes to represent your system landscape. There are multiple ways to create a node:You can either Create a node on the Landscape Visualization screen or from Transport Nodes screen. Note:For CAP application scenario, the Development node is setup as a dummy (virtual) node, as no transports are exported or deployed from Dev and they are directly handed over from CI/CD pipeline to CAP QA Node. Allow Upload to Node: Enable this checkbox to allow file uploads to the node. Usually enabled for the Dev node. But for CAP Apps scenario, the Dev node is a dummy node (no upload), and QA is the node where uploads are allowed. So select this for QA node. Forward Mode: Default value is Auto, You can change this setting based on your landscape and transport flow requirements.Controlled by SAP Solution Manager: Select this checkbox only if you plan to integrate with SAP Solution Manager (e.g., Charm or Focused Build). For CAP scenario, we will only enable this for UAT & Prod, as the transports are uploaded to QA Node.  When you enable this, it will not allow manual imports from cTMS UI, only through Charm/FB status change. Note: If you plan to integrate with Cloud ALM, do not check this option. Content Type: For CAP applications, select Multitarget Application (MTA).Destination: Select the appropriate target destination you previously configured in your cTMS subaccount in Step1.Step3: Create Transport routes in cTMSIn SAP Cloud Transport Management, transport routes are used to connect transport nodes.Name: Provide the appropriate nameChose the Source node & Target node and click on OK. After setting up Transport Nodes & routes, your landscape looks something like this based on the number of environments you have. Note: You can also use Transport Landscape Wizard, with which you can setup the all your landscape nodes & routes at a time.Step4: Azure Pipeline Setup to integrate with cTMSThis diagram explain the CI/CD pipeline flow for custom application development and deployment. Work with your Development Team to update your Azure pipeline.yaml file with code something like below to handover transports to QA node as part of deploying them to Dev. There could be additional configuration. Step5: Integrate with Solution Manager/Cloud ALMTo integrate Cloud Transport Management (cTMS) with SAP Solution Manager (Charm / Focused Build), follow the step6 from below article. If you want to integrate with Cloud ALM, follow the step7 from below article.  Setting Up Cloud TMS for Various SAP SaaS Solutions Conclusion: I hope you have learned, how to setup cTMS for Custom Applications developed based on CAP, especially with Azure pipeline. Now the setup is complete and ready for transporting content using cTMS either integrated with SAP Solution Manager or Cloud ALM. Thank you for reading my article, feel free to provide any feedback or comment for any questions.Thanks,Raghu   Read More Technology Blog Posts by Members articles 

#SAP

#SAPTechnologyblog

You May Also Like

More From Author