How to deploy your app
There are many ways to deploy an app. We aim to provide you with the services and support you need to deploy your app using your preferred tools. Our goal is to support popular open-source and commercial deployment tools.
Note: A key part of our division of responsibility principle and our security framework is that we do not provide root access to instances. Deployment of application source code should not require root access. Despite this, there are some deployment tools (such as Chef) that assume they will have root access, creating security weaknesses. Tools that require root access are not compatible with MedStack.
This document is a high-level overview of some deployment methods, with links to more specific documentation, usually from the original providers of the tools.
Use a process manager
A process manager will ensure that your app starts cleanly when the virtual machine reboots. See our document How to ensure your application will start after a reboot.
Deploy using SSH
A wide variety of deployment methods work using SSH. To connect to your instance using SSH, see our document How to SSH to your deploy user.
There are many ways to deploy using SSH, for example:
- Many deployment tools such as Capistrano and Ansible use SSH to connect and automate deployment.
- There are also commercial deployment services that use SSH access.
- You can create your own deployment workflow using SSH.
Deploy using git-push-to-deploy
If you are familiar with platforms like Heroku, this option may be useful. It allows you to execute a deployment using `git push` and automatically trigger deployment scripts. See our document How to use git push-to-deploy.
Deploy to MedStack-managed Docker instances
If you are deploying onto a MedStack-managed docker instance, you can use the standard Docker command-line interface (CLI). See: Official docker command documentation.
There are a variety of tutorials on how to get up and running with docker available. For example, the official Docker tutorial.