Skip to Content

Download and Prepare App for Cloud Foundry Deployment

Download files for a simple app, maintain the deployment descriptor, and bundle everything together ready for deployment.
You will learn
  • What a typical small Node.js app looks like
  • What a Cloud Foundry deployment descriptor contains
qmacroDJ AdamsJanuary 15, 2025
Created by
qmacro
September 14, 2018

In this tutorial, you’ll download a simple Node.js app from GitHub that returns an index page with various information about itself, in response to an HTTP request. You’ll open up and edit the app’s deployment descriptor, a file containing information about the app, including memory requirements, hostname and more.

  • Step 1

    The sample app is available in a repository on GitHub.

    Open it up at this URL: https://github.com/SAP-samples/cf-sample-app-nodejs.

  • Step 2

    This tutorial is preparing the app for deployment to the SAP BTP, Cloud Foundry runtime, and you’ll be deploying it (in another tutorial) from your own machine. So you’ll need to download the repository first.

    Choose Clone or download and then choose Download ZIP.

    Download sample files

    Enter the name of the file you just downloaded and choose Validate.

  • Step 3

    Open the zip file and extract its content to a folder on your local computer. You will have extracted a folder named cf-sample-app-nodejs-main.

  • Step 4

    The sample app repository contains a basic deployment descriptor, but you’ll need to edit it before the deployment. The deployment descriptor is the file called manifest.yml in the root of the app folder structure.

    Open the manifest.yml file with an editor of your choice.

    What is the value of the name parameter that exists already in the manifest.yml?

  • Step 5

    The host name for your app must be unique within a combination of region and runtime, in that it forms the most significant part of the fully qualified hostname in the app’s URL space. For example, if your app host name is myapp, the fully qualified hostname for the Cloud Foundry runtime in the EU10 region will be:

    myapp.cfapps.eu10.hana.ondemand.com

    If someone else is already using that hostname within that region and runtime, you won’t be able to deploy your application. As this is just a sample application, you can use the random-route manifest attribute to have a unique route URL generated for you.

    Change the value for random-route from false to true in the manifest.yml file:

    yaml
    Copy
    ---
    applications:
    - name: cf-nodejs
      memory: 192M
      instances: 1
      random-route: true
    

    To finish off, take a look at the App manifest attribute reference to find out more about what you can specify, and, perhaps more importantly, what you cannot specify any more.


    In previous versions of the app manifest specification, you could specify routes by listing them all at once using the routes attribute, or by using their hosts and domains. Over time, some attributes in the app manifest that were available for this have been deprecated, including the 'host' attribute. What is the attribute still available now to specify routes?

Back to top