anchor.diff:  	#0   running   2014-01-24 05:07:18 PM   0.0%   18.5M of 1G   52.5M of 1G
   
   </pre>
  -
  
positive.code: An app can only bind to a service that has an existing instance in the
  target app space.
  
  ### <a name='defining-options'></a>Define Deployment Options 
  
  You can define deployment options on the command line, in a manifest file, or
  both together.
  See [Deploying with App Manifests](./manifest.html) to learn how
  app settings change from push to push, and how command-line options,
  manifests, and commands like `cf scale` interact.
  
  When you deploy an app while it is running, Cloud Foundry stops all instances of that app and then deploys.
  Users who try to run the app get a "404 not found" message while `cf push` runs.
  Stopping all instances is necessary to prevent two versions of your code from running at the same time.
  A worst-case example would be deploying an update that involved a database
  schema migration, because instances running the old code would not work and
  users could lose data.
  
  Cloud Foundry uploads all app files except version control files and
  folders with names such as `.svn`, `.git`, and `_darcs`.
  To exclude other files from upload, specify them in a `.cfignore` file in the
  directory where you run the push command.
  For more information, see the [Ignore Unnecessary Files When Pushing](./prepare-to-deploy.html#exclude) section of the [Considerations for Designing and Running an App in the Cloud](./prepare-to-deploy.html) topic.
  
  For more information about the manifest file, see the [Deploying with App Manifests](./manifest.html) topic.
  
  ### <a name='profile'></a>Configure Pre-Runtime Hooks
  
  <p class="note"><strong>Note</strong>: The Java buildpack does not support pre-runtime hooks.</p>
  
  To configure pre-runtime hooks, create a file named `.profile` and place it in the root of your app directory.
  If the directory includes a `.profile` script, then Cloud Foundry executes it immediately before each instance of your app starts.
  Because the `.profile` script executes after the buildpack, the script has access to the language runtime environment created by the buildpack.
  
  <p class="note"><strong>Note</strong>: Your app root directory may also include a <code>.profile.d</code> directory that contains bash scripts that perform initialization tasks for the buildpack.
  Developers should not edit these scripts unless they are using a <a href="../../buildpacks/custom.html">custom buildpack</a>.</p>
  
  You can use the `.profile` script to perform app-specific initialization tasks, such as setting custom environment variables.
  Environment variables are key-value pairs defined at the operating system level.
  These key-value pairs provide a way to configure the apps running on a system.
  For example, any app can access the LANG environment variable to determine which language to use for error messages and instructions, collating sequences, and date formats.
  
  To set an environment variable, add the appropriate bash commands to your `.profile` file. See the example below.
  
  ~~~bash
  # Set the default LANG for your apps
  export LANG=en_US.UTF-8
  ~~~
  
  <p class="note"><strong>Note</strong>: If you are using a PHP buildpack version prior to v4.3.18, the buildpack does not execute your PHP app's <code>.profile</code> script. Your PHP app will host the <code>.profile</code> script's contents.
  This means that any PHP app staged using the affected PHP buildpack versions can leak credentials placed in the <code>.profile</code> script.</p>
  
  ## <a id='push'></a> Push the App 
  
  Run the following command to deploy an app without a manifest:
  
    `cf push APP-NAME`
  
  
negative.code: ---
  title: Pushing an App
  owner: CAPI
  ---
  
  This topic describes how to use the Cloud Foundry Command Line Interface (cf CLI) to push an app to <%= vars.product_full %>.
  
  ## <a id="overview"></a> Overview
  
  The cf CLI command `cf push` pushes apps to <%= vars.product_short %>.
  To push an app using `cf push`, do the following:
  
  1. [(Optional) Configure Domains](#domain)
  1. [Determine `cf push` Options](#options)
  1. [Push the App](#push)
  
  For help preparing to push your app, see:
  
  * [Considerations for Designing and Running an App in the Cloud](./prepare-to-deploy.html)
  * Any [Buildpacks](../../buildpacks/index.html) guides specific to your app language or framework, such as [Getting Started Deploying Ruby on Rails Apps](../../buildpacks/ruby/gsg-ror.html)
  
  ## <a id='prepare'></a> Prerequisites
  
  Before you push your app to <%= vars.product_short %>, make sure that:
  
  * Your app is *cloud-ready*.
  <%= vars.product_short %> behaviors related to file storage, HTTP sessions, and port usage
  may require modifications to your app.
  
  * All required app resources are uploaded.
  