github.com/technosophos/deis@v1.7.1-0.20150915173815-f9005256004b/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 .. note:: 30 31 For Vagrant clusters: ``deis login http://deis.local3.deisapp.com`` 32 33 Select a Build Process 34 ---------------------- 35 Deis supports three different ways of building applications: 36 37 1. `Heroku Buildpacks`_ 38 2. `Dockerfiles`_ 39 3. `Docker Images`_ 40 41 Buildpacks 42 ^^^^^^^^^^ 43 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. 44 45 Learn how to use deploy applications on Deis :ref:`using-buildpacks`. 46 47 Dockerfiles 48 ^^^^^^^^^^^ 49 Dockerfiles are a powerful way to define a portable execution environment built on a base OS of your choosing. 50 51 Learn how to use deploy applications on Deis :ref:`using-dockerfiles`. 52 53 Docker Image 54 ^^^^^^^^^^^^ 55 Deploying a Docker image onto Deis allows you to take a Docker image from either a public 56 or a private registry and copy it over bit-for-bit, ensuring that you are running the same 57 image in development or in your CI pipeline as you are in production. 58 59 Learn how to use deploy applications on Deis :ref:`using-docker-images`. 60 61 62 .. _`twelve-factor methodology`: http://12factor.net/ 63 .. _`Heroku Buildpacks`: https://devcenter.heroku.com/articles/buildpacks 64 .. _`Dockerfiles`: https://docs.docker.com/reference/builder/ 65 .. _`Docker Images`: https://docs.docker.com/introduction/understanding-docker/