Technical Articles
HANA XSA Simplified 5: Deployment options for XSA MTA projects
In this blog post; I will explain the different options available for the deployment process in HANA XSA. In my earlier blog post HANA XSA Simplified 3: Using GIT as a central repository in WebIDE and Deploy Process; I have already explained in detail how Git can be used as a central repository and how we can align the deployment process with it. In this blog post we will see what options are available to perform the Deployment of XSA project from Development to Quality and Production environment.
To deploy the XSA MTA projects to target spaces mainly below 5 options are available. SAP is also working on the 6th option for XS Advanced Based Transport Service. It will support to attach MTA to native transport request and deploy it to target space via transport service. But we do not have any clarity when this option will be available.
Deploy options in HANA XSA
To perform the deployment, user need to have the ‘Space Developer’ authorization on target space.
- ABAP Transport (HTA for HDI): If there is a Netweaver stack available on top of the SAP HANA XSA tenant and if both ABAP and Native development are done, then you can use “HTA for HDI” to transport both HDI and ABAP development artefacts together using ABAP transports from Netweaver layer. The transaction SCTS_HTA_TOOLS provide links to many programs and documentation that you might find helpful when using HTA for HDI. Please use the SAP Note 2569651 – Configure your ABAP Development System for Development of HDI Objects. It explains how to configure SAP HANA Transport for ABAP for SAP HANA Deployment Infrastructure (HTA for HDI) and provides a detailed guide.
- XS Advanced Command-Line Client: In this method; developer can perform the deployment if he has XS Advanced Command-Line Client available on his desktop and he has authorizations to use it. To know more about how to access and use the XS Advanced Command-Line Client; use the below link.
Once .mtar file is ready to deploy in webide then download it to your local desktop in the bin folder of XS Advanced Command-Line Client. Let us consider the .mtar file name is ‘proj_deploy.mtar’.
Open the XS Advanced Command-Line Client and login to the Target system using XSA user ID and password. Navigate to target organization and space using command ‘xs t -o ‘organization’ -s ‘prod_space’. Then use the command ‘xs deploy proj_deploy.mtar’ to deploy the .mtar file to target space.
- Using WebIDE: This option is useful only if source and target space is available in the same system. Once .mtar file is ready to deploy in webide right click on the .mtar file, in context menu there is an option ‘Deploy’. Click on that choose the target Organization and space and click on Deploy.
- Using CTS+: In this option CTS+ functionality of solution manger system is used for the transports of .mtar files. Please refer the below document which describes end to end method on how to configure the CTS+ for HANA XSA and how to transport the .mtar file using the CTS+ transport request.
https://www.sap.com/documents/2016/12/98ccd65a-9c7c-0010-82c7-eda71af511fa.html
If you are using multiple spaces in your project, then to differentiate between the different spaces create individual Application type for each Space. Once the CTS+ configuration for XSA is completed then MTA can be attached to CTS+ transport request in the Transport Organizer Web UI and releases the transport. Imports can be triggered by using the import queue GUI calling the deploy service on the XS advanced.
- Using CI/CD in Git or Jenkins: This method uses the CI/CD pipelines available in Git. It uses the commits performed on the branch of Git to build environment by clone job in continuous integration process and MTA build is triggered. Test stage automatically triggers the deployment of MTA on the Test environment spaces to run automated tests. Finally, the deployment to the Production space is a job that can be triggered automatically or manually. Please find below the detail guide on how to configure the CI/CD for XSA MTA automated transports.
https://sap.github.io/jenkins-library/scenarios/changeManagement/
Hope, this blog post will help you to take right decisions to choose which deployment method to use for your HANA XSA project.
Excellent thank you for sharing
Thanks Sainath.
Thanks for sharing and really simplified explanation of XSA model and differences with XSC.
Thanks Narendar Mamidi.
Does CTS+ option support the usage of mta extension (.mtaext file) ?
yes, see How To... Configure SAP HANA Extended Services - Advanced Model (XSA) for CTS
CTS+:
Jens Gleichmann Sorry but looking at the doc you mentioned, I do not find any information on how to upload mtaext file to a transport request. In page 24, it only shows how to upload mtar file but not mtaext.
Hello Vivek Chaudhari ,
Sorry maybe this post is a better place to ask my question: based on what we learnt about XSA, it seems the CTS+ functionality is a stepback, as in XSC there was no need of downloading the mtar file to the local repo and then attaching it to the transport. Can you please confirm our understanding that there is no automated way of perform this in XSA or if there is a way then can you let me know that?
Hello Balazs Rajnai,
In our project also we are using CTS+ for transport. As you mentioned there is no way that mtar files get attached to the transport request automatically. We are using same method to download the mtar file and then manually attach it to the transport request.
Hello Vivek,
Thank you very much for sharing this information.
I have a question regarding to the project deployment as you see below.
What is the procedure to re-deploy the MTA using command line interface ? Do we need to follow the same steps ?
Hi Sanjay Kumar,
Re-deploy of the MTA using command line interface should work. You can re-deploy the same MTA file multiple times.
Thanks.