<commit_before>---
title: Deploy an Application
---
_This page assumes that you are using cf v6._

## <a id='intro'></a>Overview of Deployment Process ##

You deploy an application to Cloud Foundry by running a `push` command from a
Cloud Foundry command line interface (CLI). Refer to the [Install cf v6](../installcf/install-go-cli.html) topic for more information.
Between the time you run `push` and the time that the application is available,
Cloud Foundry:

* Uploads and stores application files
* Examines and stores application metadata
* Creates a "droplet" (the Cloud Foundry unit of execution) for the application
* Selects an appropriate droplet execution agent (DEA) to run the droplet
* Starts the application

An application that uses services, such as a database, messaging, or email
server, is not fully functional until you *provision* the service and, if
required, *bind* the service to the application.

## <a id='prepare'></a>Step 1: Prepare to Deploy ##

Before you deploy your application to Cloud Foundry, make sure that:

* Your application is *cloud-ready*.
Cloud Foundry behaviors related to file storage, HTTP sessions, and port usage
may require modifications to your application.

* All required application resources are uploaded.
For example, you may need to include a database driver.

* Extraneous files and artifacts are excluded from upload.
You should explicitly exclude extraneous files that reside within your
application directory structure, particularly if your application is large.

* An instance of every service that your application needs has been created.

* Your Cloud Foundry instance supports the type of application you are going to
deploy, or you have the URL of an externally available buildpack that can stage
the application.

For help preparing to deploy your application, see:

* [Prepare to Deploy](prepare-to-deploy.html)
* [Tips for Ruby Developers](../buildpacks/ruby/ruby-tips.html)
* [Tips for Node.js Developers](../buildpacks/node/node-tips.html)
* [Tips for Java Developers](../buildpacks/java/java-tips.html)

## <a id='logon-target'></a>Step 2: Know Your Credentials and Target ##

Before you can push your application to Cloud Foundry you need to know:

* The API endpoint, also known as the target URL, for your Cloud Foundry
instance.
This is a URL that typically begins with "api."
Consult your cloud operator if you are unsure of your API endpoint.
* Your username and password for your Cloud Foundry instance.
* The organization and space where you want to deploy your application.
A Cloud Foundry workspace is organized into organizations, and within them,
spaces.
As a Cloud Foundry user, you have access to one or more organizations and
spaces.

## <a id='domain'></a>Step 3: (Optional) Configure Domains ##

Cloud Foundry directs requests to an application using a route, which is a URL
made up of a subdomain and a domain.<commit_msg>again fix links to docs moved to buildpacks -- 3 Tips topics<commit_after>---
title: Deploy an Application
---
_This page assumes that you are using cf v6._

## <a id='intro'></a>Overview of Deployment Process ##

You deploy an application to Cloud Foundry by running a `push` command from a
Cloud Foundry command line interface (CLI). Refer to the [Install cf v6](../installcf/install-go-cli.html) topic for more information.
Between the time you run `push` and the time that the application is available,
Cloud Foundry:

* Uploads and stores application files
* Examines and stores application metadata
* Creates a "droplet" (the Cloud Foundry unit of execution) for the application
* Selects an appropriate droplet execution agent (DEA) to run the droplet
* Starts the application

An application that uses services, such as a database, messaging, or email
server, is not fully functional until you *provision* the service and, if
required, *bind* the service to the application.

## <a id='prepare'></a>Step 1: Prepare to Deploy ##

Before you deploy your application to Cloud Foundry, make sure that:

* Your application is *cloud-ready*.
Cloud Foundry behaviors related to file storage, HTTP sessions, and port usage
may require modifications to your application.

* All required application resources are uploaded.
For example, you may need to include a database driver.

* Extraneous files and artifacts are excluded from upload.
You should explicitly exclude extraneous files that reside within your
application directory structure, particularly if your application is large.

* An instance of every service that your application needs has been created.

* Your Cloud Foundry instance supports the type of application you are going to
deploy, or you have the URL of an externally available buildpack that can stage
the application.

For help preparing to deploy your application, see:

* [Prepare to Deploy](prepare-to-deploy.html)
* [Tips for Ruby Developers](../../buildpacks/ruby/ruby-tips.html)
* [Tips for Node.js Developers](../../buildpacks/node/node-tips.html)
* [Tips for Java Developers](../../buildpacks/java/java-tips.html)

## <a id='logon-target'></a>Step 2: Know Your Credentials and Target ##

Before you can push your application to Cloud Foundry you need to know:

* The API endpoint, also known as the target URL, for your Cloud Foundry
instance.
This is a URL that typically begins with "api."
Consult your cloud operator if you are unsure of your API endpoint.
* Your username and password for your Cloud Foundry instance.
* The organization and space where you want to deploy your application.
A Cloud Foundry workspace is organized into organizations, and within them,
spaces.
As a Cloud Foundry user, you have access to one or more organizations and
spaces.

## <a id='domain'></a>Step 3: (Optional) Configure Domains ##

Cloud Foundry directs requests to an application using a route, which is a URL
made up of a subdomain and a domain.
{'fraction_non_alphanumeric': 0.06917063222297756, 'fraction_numerical': 0.0018694765465669613, 'mean_word_length': 4.578199052132701, 'pattern_counts': {'":': 0, '<': 19, '<?xml version=': 0, '>': 19, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 6, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6868174', 'n_tokens_mistral': 1531, 'n_tokens_neox': 1484, 'n_words': 827}