Manual Deployment Method
Without the automated DevOps-style development approach, projects must be deployed manually.

Before the deployment can be started, a build of the latest version of the project must be executed (not the database module). In the process of this special build, SAP Web IDE generates a multi-target application (MTA) archive file. The archive is a file with no name and has the extension, .mtar. The .mtar file can be found in the mtar_archives folder which is automatically created in your project structure once the project build has finished. Afterwards, this .mtar archive can be deployed to a target SAP HANA database using an option in the Web IDE menu.

Note
Careful not to confuse a database module build with a project build. The former generates the database run time objects, whereas the latter does not. To build the database module, you choose the build option from the database module folder. To build the project, you choose the build option from the project level folder.DevOps-style Automated Deployment
In contrast to the manual deployment process shown previously, utilizing the DevOps-style development process enables a much more automated and thus agile deployment.

After the latest version of the project is released to the Git release branch, the CI/CD tool automatically pulls the changes and executes a deployment via XSA. In this scenario the CI/CD tool basically replaces the developer and undertakes the necessary steps to deploy the project via XSA. Depending on the settings of the CI/CD tool, this can happen on a time schedule (e.g. every day) or based on a trigger (e.g. as soon as a new release is published).
Jenkins: A popular CI/CD Tool Example

Jenkins is a popular open source CI/CD tool that lets development teams orchestrate deployment processes. The software provides a wide range of configuration options, can be used with various different source code management platforms, and can be extended with additional plugins.
Jenkins: General Configuration and Source Code Management

When configuring an SAP SQL Data Warehouse deployment project in Jenkins, you can enter parameters which are then used by Jenkins when executing the build process using the XSA command-line-interface. You can also define the Git platform in use and store user credentials for the Jenkins server, so the server can access Git autonomously and pull the latest changes in the release branch.
Jenkins: Build Triggers and Build Environment

Jenkins provides a wide range of build trigger options. The example below follows a cron-style schedule definition and is executed every 15 minutes. If required, Jenkins also lets you edit build environment variables. This way, you can, for example, tell the tools to always delete the workspace before starting a new build and to add timestamps to the Console Output.
Jenkins: Build Code and Post-build Actions

The Build area of the deployment project includes the actual codes that the tool is supposed to execute in order to make the deployment. You can also choose from a set of post-build actions (for example, send an e-mail notification to a certain address) that should be executed right after the build has been completed.