Skip to content

Deploy an application

Learn how to push applications with your tool of choice.

  • CLI: the Nextmv Command Line Interface (CLI).
  • Python SDK: a Software Development Kit (SDK) for Python developers.

Deploying an app means pushing code to it. When you push an application, you take all the necessary executable files that make up the application, package them in a .tar.gz file, and send them to the Nextmv platform. Please take into consideration the following:

  • You can only deploy (push) custom applications. Subscription apps cannot be pushed to, as they are maintained by Nextmv.
  • All necessary files to run the application must be specified in the files property of the app.yaml manifest.
  • You may use the build or pre-push properties of the app.yaml manifest to run any necessary build steps before pushing the application. For compiled languages like Go, Java, or C++, you will need to compile the code before pushing it.
  • Python applications that use external dependencies require that you specify the python.pip-requirements property with a path to a pyproject.toml or requirements.txt file. The dependencies will be downloaded and bundled as part of the .tar.gz file that is pushed to the Nextmv platform.

Every time your application is pushed, there is a special instance created called latest. As the name suggests, this instance always points to the latest executable code that has been pushed to the application. This is the default instance of an application, so every time you run an application without specifying an instance, the latest instance will be used. Every time you push an app, the latest instance is overwritten with the new code.

To avoid overwriting new code, and to keep track of different versions, you can create a new version once an application has been pushed. Once a version has been created, you can update certain attributes, but never the underlying referenced executable. Pushing will always overwrite the latest instance.

Tip

To prevent losing your work, we recommend creating a version immediately after pushing your application. This way, you will always have a versioned copy of your code.