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.
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.
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.
Hope, this blog post will help you to take right decisions to choose which deployment method to use for your HANA XSA project.