Skip to content

09. Deploy

Nikica Josipovic edited this page Jul 8, 2025 · 6 revisions

Deploying the Extension

Now it's time to deploy the composed extension, including the custom code handlers, to the main application.
Before doing so, stop the locally running extension project to avoid port conflicts.

We will start the Incidents app locally in the same way as described in the first section (Setting up the Environment).
For this, you'll need three separate terminal windows.
In Visual Studio Code, we recommend using the split terminal feature to keep all windows visible simultaneously.

  • Terminal 1
    Run cds watch at the root level of the project. It should report the service running on port 4004.

  • Terminal 2
    Run the MTX sidecar with:

    cds watch mtx/sidecar

    This should report running on port 4005.
    Keep Terminals 1 and 2 running during the entire testing process.

  • Terminal 3
    Push the extension for tenant t1 and user alice using the following command:

    cds push --to http://localhost:4005 -u alice

    You can now test the deployment by opening the link from Terminal 1,
    or navigating directly to:
    http://localhost:4004/incidents/webapp/index.html

At this point, you should see:

  • The additional Customer Status field introduced by the extension
  • The two UI buttons for the defined actions, just like in the preview mode of the extension project

You can now interact with the UI: create and update incidents, and verify that the logic behaves as expected.

Main rule reminder:
Incidents created by a customer with status Gold are automatically converted to have high urgency.


Playing Around

If you have an account in SAP BTP, you can deploy the Incidents application to the cloud as explained in the official documentation:

After deployment, you can build your extension using:

cds build

Then deploy it to the running application in BTP Cloud as described in the Capire Extensibility Guide

In the Tenth exercise — Advanced Topics, you can play around a bit more, if you have additional time

Clone this wiki locally