Skip to content

Commit

Permalink
Merge pull request #708 from umatrangolo/issue-706
Browse files Browse the repository at this point in the history
Improve docs on deploying different pkg formats
  • Loading branch information
muuki88 committed Dec 4, 2015
2 parents 3f8051d + f908143 commit db9b0bb
Showing 1 changed file with 55 additions and 28 deletions.
83 changes: 55 additions & 28 deletions src/sphinx/topics/deployment.rst
Expand Up @@ -14,8 +14,8 @@ like this in your ``build.sbt``
publishTo := {
val nexus = "https://oss.sonatype.org/"
if (version.value.trim.endsWith("SNAPSHOT"))
Some("snapshots" at nexus + "content/repositories/snapshots")
if (version.value.trim.endsWith("SNAPSHOT"))
Some("snapshots" at nexus + "content/repositories/snapshots")
else
Some("releases" at nexus + "service/local/staging/deploy/maven2")
}
Expand All @@ -25,37 +25,65 @@ For an automatised build process are other plugins like the `sbt release plugin`
.. _sbt publish documentation: http://www.scala-sbt.org/0.13/docs/Publishing.html
.. _sbt release plugin: https://github.com/sbt/sbt-release

Default Configuration
---------------------
Default Deployment
------------------
The easiest way is to add ``UniversalDeployPlugin`` to your ``build.sbt``

.. code-block:: scala
import NativePackagerKeys._
enablePlugins(JavaServerAppPackaging, UniversalDeployPlugin)
You are now able to publish your application by scope.
You are now able to publish your packaged application in both ``tgz`` and ``zip`` formats with:

``universal:publish``
Publish the ``zip`` (or ``tgz``/``txz`` depending on the configuration. Default is to publish ``zip`` along with ``tgz``) package

``debian:publish``
Publish jars along with the ``deb`` package
Custom Deployments
------------------
When using other package formats we need to explicitly configure the
deployment setup to a more specific one.

``rpm:publish``
Publish jars along with the ``rpm`` package

``windows:publish``
Publish jars along with the ``msi`` package
RPM
~~~

``universal:publish``
Publish jars along with the ``zip`` (or ``tgz``/``txz`` depending on the configuration) package

Your ``build.sbt`` should contain:

.. code-block:: scala
enablePlugins(RpmPlugin, RpmDeployPlugin)
This will make possible to push the ``RPM`` with:

```sbt rpm:publish``

Debian
~~~~~~

Enabled with:

.. code-block:: scala
enable(DebianPlugin, DebianDeployPlugin)
that will make possible to publish a ``deb`` package with:

Custom Configuration
--------------------
You configure only what you need as well.
``sbt deb:publish``

Windows
~~~~~~~

If using an ``msi`` packaging you need to enable:

.. code-block:: scala
enable(WindowsPlugin, WindowsDeployPlugin)
Then, pushing the package is

``sbt windows:publish``

Custom Configurations
---------------------
You could configure only what you need as well.


Debian
Expand All @@ -64,7 +92,7 @@ Debian
.. code-block:: scala
makeDeploymentSettings(Debian, packageBin in Debian, "deb")
//if you want a changes file as well
makeDeploymentSettings(Debian, genChanges in Debian, "changes")
Expand All @@ -74,27 +102,26 @@ RPM
.. code-block:: scala
makeDeploymentSettings(Rpm, packageBin in Rpm, "rpm")
Windows
~~~~~~~

.. code-block:: scala
makeDeploymentSettings(Windows, packageBin in Windows, "msi")
makeDeploymentSettings(Windows, packageBin in Windows, "msi")
Universal
~~~~~~~~~

.. code-block:: scala
// zip
// zip
makeDeploymentSettings(Universal, packageBin in Universal, "zip")
makeDeploymentSettings(UniversalDocs, packageBin in UniversalDocs, "zip")
// additional tgz
addPackage(Universal, packageZipTarball in Universal, "tgz")
// additional txz
addPackage(UniversalDocs, packageXzTarball in UniversalDocs, "txz")

0 comments on commit db9b0bb

Please sign in to comment.