Deploying a sample Java application

See Java Applications for details on deploying Java application servers.

This guide provides a simple example of deploying a Java application using Octopus Deploy.


This guide assumes some familiarity with Octopus Deploy. You should be able to configure projects and have a Tentacle or SSH deployment target already configured.

Naked scripting allows you to transfer and extract your package on remote targets without the need for Calamari or mono. Read the short guide here for more details.

Sample application

Here is a sample application that will prompt the user to press a key before exiting:

public class PressAnyKey {
    public static void main(String[] args) throws {
        System.out.println("Press any key to continue.");;

Deploying the application

Step 1: Upload the application to the built-in repository

In order to deploy the application with Octopus Deploy it must be compiled and packaged. This would usually be done by your build server but for the sake of this demonstration let’s do it manually.

  1. Compile the application:
  1. Zip PressAnyKey.class into the archive (you can download a sample:
  2. Upload to the Octopus Deploy built-in feed (Library ➜ Packages or follow the instructions here).

Step 2: Create the project and deployment process

  1. Create a new project called Press Any Key.
  2. Add a Deploy a package step to the deployment process.
  3. Configure the step to deploy the package
  4. Configure the step to run a post-deployment script to start the application.


Start-Process java PressAnyKey


screen -d -m -S "PressAnyKey" java PressAnyKey

The application must be launched in a new process or session so that control returns to the shell. Otherwise the deployment will wait until the application is terminated.

Step 3: Deploy

Create a release and deploy.

The application will be running on the target machine:

ubuntu@ip-10-0-0-245:/$ ps aux | grep 'PressAnyKey'
ubuntu    6544  0.0  0.0  25776  1288 ?        Ss   02:00   0:00 SCREEN -d -m -s PressAnyKey java PressAnyKey
ubuntu    6545  0.0  0.7 2076112 28584 pts/2   Ssl+ 02:00   0:01 java PressAnyKey

Help us continuously improve

Please let us know if you have any feedback about this page.

Send feedback

Page updated on Sunday, January 1, 2023