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
filesproperty of theapp.yamlmanifest. - You may use the
buildorpre-pushproperties of theapp.yamlmanifest 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-requirementsproperty with a path to apyproject.tomlorrequirements.txtfile. The dependencies will be downloaded and bundled as part of the.tar.gzfile 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.