Skip to content

Commit

Permalink
Merge pull request #427 from ArtemPyanykh/play-packaging
Browse files Browse the repository at this point in the history
Add documentation about Play 2 packaging as deb- and rpm-packages
  • Loading branch information
muuki88 committed Dec 5, 2014
2 parents 3c2e49c + 8ef2efb commit 0fea5fc
Show file tree
Hide file tree
Showing 2 changed files with 45 additions and 0 deletions.
1 change: 1 addition & 0 deletions src/sphinx/DetailedTopics/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,4 @@ Advanced Topics
docker.rst
paths.rst
custom.rst
play.rst
44 changes: 44 additions & 0 deletions src/sphinx/DetailedTopics/play.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
Play 2 Packaging
================

Although Play 2 supports Sbt Native Packager, it requires some additional steps
to successfully package and run your application.

Build Configuration
-------------------

Depending on whether you want to package your application as a deb-package or
as an rpm-package, you have to setup your build configuration accordingly.
Please, refer to :doc:`Debian </DetailedTopics/debian>` and :doc:`Redhat </DetailedTopics/redhat>`
pages for additional information.

Note that **Upstart** is not supported by all available operation systems and may not always work as expected.
You can always fallback to the **SystemV** service manager instead.
For more information on service managers please refer
to :doc:`Getting Started With Servers </GettingStartedServers/index>` page.

Application Configuration
-------------------------

In order to run your application in production you need to provide it with at least:

* Location where it can store its pidfile
* Production configuration

One way to provide this information is create ``src/templates/etc-default`` with the following contents:

.. code-block:: bash
# Since play uses separate pidfile we have to provide it with a proper path
-Dpidfile.path=/var/run/${{app_name}}/play.pid
# Use separate configuration file for production environment
-Dconfig.file=/usr/share/${{app_name}}/conf/production.conf
# You may also want to include this setting if you use play evolutions
-DapplyEvolutions.default=true
This way you should either store your production configuration under ``${{path_to_app_name}}/conf/production.conf``
or put it under ``/usr/share/${{app_name}}/conf/production.conf`` by hand or using some configuration management system.

See :doc:`adding configuration </GettingStartedServers/AddingConfiguration>` for more information on `etc-default` template.

0 comments on commit 0fea5fc

Please sign in to comment.