SAP Builders Blog Posts
Learn from peers about their low-code journey and write your own blog posts to share your thoughts and experiences as you become an SAP Builder.
cancel
Showing results for 
Search instead for 
Did you mean: 
marihirvi
Product and Topic Expert
Product and Topic Expert
866

Dear community,

We have recently introduced project versioning for SAP Build Apps Web & Mobile projects, allowing you to transport released project versions between subaccounts, isolating development, testing and productive deployment of SAP Build Apps applications to their own landscapes.

NOTE! The instructions below only apply to SAP Build Apps Web & Mobile projects at the time of writing this blog. Versioning is not yet supported by SAP Build Apps Backend projects.

This article will walk you through the setup of Cloud Transport Management service (CTMS), Content Agent service (CAS) and required BTP Destinations to start transporting SAP Build Apps projects between landscapes. Be mindful that in your organization, parts of the setup such as a central tenant with subscription to CTMS and a development tenant with subscription to SAP Build Apps might already be in place.

The following solution diagram describes a transport setup for a three-tier landscape (DEV -> TEST -> PROD). A picture is worth a thousand words, so I suggest that you take a moment to get to know the diagram before moving on to the instructions:

marihirvi_0-1721052199231.png

1. Subaccounts

There are three types of subaccounts (tenants) involved in the scenario:

  • Source: The subaccount where development takes place. SAP Build Apps projects will be editable in this tenant.
  • Target: The subaccount(s) where content is being transported to, for example testing and production subaccounts. SAP Build Apps projects will be view-only in these tenants.
  • Central: For administering content transport between the Source and Target tenants.

The exact number of subaccounts will depend on your organization's landscape needs (DEV -> PROD, DEV -> TEST -> PROD or something else).

2. Subscriptions, Instances and Service keys

On your Source (DEV) and Target (TEST/PROD) tenants, you will need to:

On the Central tenant, you need to:

  • Subscribe to Cloud Transport Management (Documentation)
  • Create an instance of Cloud Transport Management (Documentation)
  • Create a service key (Documentation) or obtain one from an administrator.

If any of the options are not available, please check that your global account has the required entitlements.

3. Role collections in BTP Cockpit

You will need to set up role collections in the BTP Cockpit so that you and others can perform required actions. Below you can find links to documentation for the different services so that you can assemble the role collections according to your organization's needs.

On the Source and Target tenants, define role collections for:

  • SAP Build Lobby (RegistryAdmin role needed for admin user defining tenant type in the next step.)
  • SAP Build Apps (Documentation)
  • Content Agent Service (Documentation)

On the Central tenant, define role collections for:

Assign the created role collections to yourself and other users who need access.

4. SAP Build Lobby configuration

Once you have admin access (RegistryAdmin role) to SAP Build Lobby on each tenant, give the tenant the correct type (DEV, TEST, or PROD) in the Control Tower.

More detailed instructions here: Tenant Configuration (SAP Build)

5. BTP Destinations

Now all the required services are set up and you should have access to them. Let's finalize the BTP setup by creating the required destinations to transport content:

On the Source (DEV) tenant, configure the TransportManagementService destination.

NameTransportManagementService (case sensitive)
TypeHTTP
Description 
URLuri from CTMS service key details
Proxy TypeInternet
AuthenticationOAuth2ClientCredentials
Client IDuaa → clientid from CTMS service key details
Client Secretuaa → clientsecret from CTMS service key details
Token Service URL TypeDedicated
Token Service URLuaa → url from CTMS service key details + /oauth/token
Additional properties

sourceSystemId = DEV (this will be the name of Source node in CTMS)
sourceSystemId.sap.build = DEV

More information here: Create TransportManagementService Destination (Content Agent Service)

You can test out the connection by going to Content Agent user interface on the Source (DEV) tenant. If you can see a green "Connected" text in the tile for Cloud Transport Management, it means that the destination has been set up correctly. If there is an error, inspect it to figure out the source of the issue.

On the Central tenant, configure Content Agent destinations pointing to each of your Target (TEST, PROD) tenants:

NamePick names that have the tenant role in them, for example BUILD_TEST and BUILD_PROD
TypeHTTP
Description 
URLurl from CAS service key details
Proxy TypeInternet
AuthenticationOAuth2ClientCredentials
Client IDuaa → clientid from CAS service key details
Client Secretuaa → clientsecret from CAS service key details
Token Service URL TypeDedicated
Token Service URLuaa → url from CAS service key details + /oauth/token

More information here: Create Target Node Destination (Content Agent Service)

6. Set up the Transport Landscape in CTMS

Once your destination setup is finished, you can move on to set up the transport landscape using the Cloud Transport Management user interface. This is straightforward to do with the Transport Landscape Wizard. Remember to give the Source node the same name that you put in as sourceSystemId in the previous step, for example DEV.

More detailed instructions here: Using the Transport Landscape Wizard

7. Test it out

You should now be able to select "Transport" for a released SAP Build Apps Web & Mobile project version in the SAP Build Lobby and it should appear in the transport queue in CTMS. From there, you can approve it for import into the target Lobby.

More detailed instructions for using the transport can be found here: Transport a Project

Happy Transporting! 🚚

2 Comments
sunil
Associate
Associate

Hi @marihirvi, thx for the blog. Do we need to create 4 sub accounts (dev,test,prod,central) tenants? or can we put central in dev subaccount? 

marihirvi
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hi @sunil, I think it is possible to also subscribe to CTMS on one of the tenants. However, the recommendation in the CTMS User guide (page 18) is to "run SAP Cloud Transport Management service as shared service, by setting it up on a central administrative subaccount, to facilitate role management and allow strict access control."