Portable App Distribution for Cloud Foundry
Introduction
Cloud Foundry is a platform-as-a-service (PaaS) that automates the deployment, scaling, and management of applications, abstracting away the underlying infrastructure. On-premise deployment, conversely, involves hosting applications and their entire infrastructure within a company's own data centers, giving them full control.
This documentation provides guidance on understanding Cloud Foundry on-premise deployments and serves as a helpful reference rather than official implementation support.
Prerequisites
To deploy your app to an on-premises Cloud Foundry configuration using Portable App Distribution, ensure that you fulfill the following prerequisites:
- You have access to the Cloud Foundry organization and space where the application is deployed.
- You have access to the database configuration from the database service.
- You have access to binding other required Cloud Foundry services.
- The Cloud Foundry CLI is installed.
- You have generated the Portable App Distribution .zip file.
Deploying an App with Portable App Distribution
To deploy your app to Cloud Foundry, perform the following steps:
-
Log in to Cloud Foundry, and then access the organization and space where the application is deployed.
-
Save the Portable App Distribution .zip file to an accessible location.
-
Create a manifest.yml file in the root directory of your app.
By default, the
cf pushcommand uses the manifest.yml file in the app directory. To specify a different location for the manifest, you must pass its local path to the-fflag when you runcf push. -
Add the following content to the file:
applications: - name: <the name of your app> path: <the path where you saved your .zip file> memory: buildpacks: services: env:An example manifest file can look like the following:
applications: - name: mx-java-app path: <path-to-zip> memory: 1G buildpacks: - java_buildpack services: - <service instance_id to be bind> - <service instance_id to be bind> env: JBP_CONFIG_OPEN_JDK_JRE: '{ jre: { version: 21.+}}' JBP_LOG_LEVEL: INFO JAVA_OPTS: > -Xmx512m -Xms512m -XX:MaxDirectMemorySize=20M -XX:MaxMetaspaceSize=128M ``` -
Run the
cf pushcommand. -
Verify that the Mendix app has started successfully.