Deployment¶
This page shows you how to configure your build to deploy your build universal(zip, tgz, txz), rpm, debian or msi packages. For information on docker, please take a look at the docker page.
Note
The deployment settings only add artifacts to your publish task. Native packager doesn’t provide any functionality for publishing to native repositories.
Setup publish Task¶
You need a working publish
task in order to use the following configurations.
A good starting point is the sbt publish documentation. You should have something
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")
else
Some("releases" at nexus + "service/local/staging/deploy/maven2")
}
For an automatised build process are other plugins like the sbt release plugin.
Default Deployment¶
The easiest way is to add UniversalDeployPlugin
to your build.sbt
enablePlugins(JavaServerAppPackaging, UniversalDeployPlugin)
You are now able to publish your packaged application in both tgz
and zip
formats with:
universal:publish
- Publish the
zip
(ortgz
/txz
depending on the configuration. Default is to publishzip
along withtgz
) package
Custom Deployments¶
When using other package formats we need to explicitly configure the deployment setup to a more specific one.
RPM¶
Your build.sbt
should contain:
enablePlugins(RpmPlugin, RpmDeployPlugin)
This will make possible to push the RPM
with:
sbt rpm:publish
Debian¶
Enabled with:
enable(DebianPlugin, DebianDeployPlugin)
that will make possible to publish a deb
package with:
sbt deb:publish
Windows¶
If using an msi
packaging you need to enable:
enable(WindowsPlugin, WindowsDeployPlugin)
Then, pushing the package is
sbt windows:publish
Custom Configurations¶
You could configure only what you need as well.
Debian¶
makeDeploymentSettings(Debian, packageBin in Debian, "deb")
//if you want a changes file as well
makeDeploymentSettings(Debian, genChanges in Debian, "changes")
RPM¶
makeDeploymentSettings(Rpm, packageBin in Rpm, "rpm")
Windows¶
makeDeploymentSettings(Windows, packageBin in Windows, "msi")
Universal¶
// 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")