Using Experimental cf CLI Commands
Page last updated:
This topic describes how to use the experimental Cloud Foundry Command Line Interface (cf CLI) commands offered by the Cloud Controller V3 API.
These commands provide developers with the ability to better orchestrate app deployment workflows. New features include the deployment and management of apps with multiple processes, staging apps with multiple buildpacks, and uploading and staging multiple versions of a single app.
The experimental commands described in this topic require Pivotal Cloud Foundry (PCF) 1.12+ and the cf CLI v6.30.0+.
Note: Because these commands are experimental, they are not guaranteed to be available or compatible in subsequent cf CLI releases.
The new commands include a
v3- prefix. While the syntax of some experimental commands is based on the existing cf CLI, these commands call the V3 API and support new flags to unlock additional features. Other commands expose the new primitives of apps, such as by performing operations on an app’s packages and droplets.
In the V2 APIs, running and staging an app are tightly coupled operations. As a result, an app cannot be staging and running at the same time. The V3 APIs offer developers more granular control over the uploading, staging, and running of an app.
Consult the following table for a description of the experimental commands.
||Retrieves and display an app’s GUID, suppressing all other health and status output|
||Lists all apps in the target space|
||Creates a V3 app|
||Uploads a V3 package|
||Deletes a V3 app|
||Lists droplets of an app|
||Shows all environment variables for an app|
||Shows the type of health check performed on an app|
||Lists packages of an app|
||Pushes a new app or syncs changes to an existing app|
||Stops all instances of an app and then starts them again, which may cause downtime|
||Terminates and then instantiates an app instance|
||Sets the droplet used to run an app|
||Sets an environment variable for an app|
||Changes type of health check performed on an app’s process|
||Creates a new droplet for an app|
||Starts an app|
||Stops an app|
||Removes an environment variable from an app|
Keep in mind the following considerations when using the experimental commands:
v3-pushsupports only a subset of features of
push. In particular, it does not support app manifests.
- For some commands, such as
bind-service, no new V3 version exists. In those cases, use the old commands.
- You can use V3 and old commands together, but some combinations may give unexpected results. For example, if you use V3 commands to create an app with a package but it is not staged, or you use
v3-pushto push an app but it fails to stage, the old
appscommand does not return the app.
Developers can supply a Procfile with their app in order to run multiple long-lived processes using a single codebase.
To use a Procfile, include it in the root of your application directory and push your application.
For more information about Procfiles, see the About Procfiles section of the Production Server Configuration topic.