github.com/misfo/deis@v1.0.1-0.20141111224634-e0eee0392b8a/docs/using_deis/deploy-application.rst (about) 1 :title: Deploy an Application on Deis 2 :description: First steps for developers using Deis to deploy and manage applications 3 4 .. _deploy-application: 5 6 Deploy an Application 7 ===================== 8 An :ref:`Application` is deployed to Deis using ``git push`` or the ``deis`` client. 9 10 Supported Applications 11 ---------------------- 12 Deis can deploy any application or service that can run inside a Docker container. In order to be scaled horizontally, applications must follow Heroku's `twelve-factor methodology`_ and store state in external backing services. 13 14 For example, if your application persists state to the local filesystem -- common with content management systems like Wordpress and Drupal -- it cannot be scaled horizonally using ``deis scale``. 15 16 Fortunately, most modern applications feature a stateless application tier that can scale horizontally inside Deis. 17 18 Login to the Controller 19 ----------------------- 20 Before deploying an application, users must first authenticate against the Deis :ref:`Controller`. 21 22 .. code-block:: console 23 24 $ deis login http://deis.example.com 25 username: deis 26 password: 27 Logged in as deis 28 29 Select a Build Process 30 ---------------------- 31 Deis supports three different ways of building applications: 32 33 1. `Heroku Buildpacks`_ 34 2. `Dockerfiles`_ 35 3. `Docker Images`_ 36 37 Buildpacks 38 ^^^^^^^^^^ 39 Heroku buildpacks are useful if you want to follow Heroku's best practices for building applications or if you are porting an application from Heroku. 40 41 Learn how to use deploy applications on Deis :ref:`using-buildpacks`. 42 43 Dockerfiles 44 ^^^^^^^^^^^ 45 Dockerfiles are a powerful way to define a portable execution environment built on a base OS of your choosing. 46 47 Learn how to use deploy applications on Deis :ref:`using-dockerfiles`. 48 49 Docker Image 50 ^^^^^^^^^^^^ 51 Deploying a Docker image onto Deis allows you to take a Docker image from either a public 52 or a private registry and copy it over bit-for-bit, ensuring that you are running the same 53 image in development or in your CI pipeline as you are in production. 54 55 Learn how to use deploy applications on Deis :ref:`using-docker-images`. 56 57 58 .. _`twelve-factor methodology`: http://12factor.net/ 59 .. _`Heroku Buildpacks`: https://devcenter.heroku.com/articles/buildpacks 60 .. _`Dockerfiles`: https://docs.docker.com/reference/builder/ 61 .. _`Docker Images`: https://docs.docker.com/introduction/understanding-docker/