Code Deployment
To deploy the code for your applications, Nullstone provides 3 different options.
Automatic Deployment
Nullstone will automatically build and deploy your application when you push any commits to a branch in your repo. This is a great way to get started with a new application or an app that doesn't require testing before deployment. For production scenarios, we recommend using a custom CI/CD workflow.
Custom CI/CD Workflow
Plug in your own CI/CD system. This allows you to run your test suite and request release approvals before deployment. At the point in your release workflow where you are ready to deploy to your environment, simply add the nullstone launch CLI command.
For specific instructions and tools, check out the guides for each CI/CD system:
Manual Deployment
The Nullstone CLI provides a single command that can be used to deploy your application code. This can be useful for one-off deployments or use it to build out your custom deployment system. No matter what type of application you are deploying, the command is the same.
# For container applications (including containerized serverless)
nullstone launch --source=container-name --app=app-name --env=env-name
# For static sites
nullstone launch --source=directory-name --app=app-name --env=env-name
# For serverless applications using zip files
nullstone launch --source=zip-filename --app=app-name --env=env-name
Configuring Your Application
Configuring the deployment method for your application can be done while creating a new app. It can also be changed at any time from the application settings page.
By default, applications are configured for custom CI/CD workflows. To enable automatic deployments, select whether you would like to turn it on for the first environment or all environments. For many teams, the first environment is a dev or staging environment that doesn't require tests or approval to deploy.
No matter which option you choose, manual deployments through the CLI are always available.
Automatic Deployment
If you enable automatic deployment, the next step is to configure what will trigger a deployment. Select the repo that contains your application code and then select the branch for each environment.
Build Configuration
The final step is to configure how your application will be built. If the application is a container, provide a path to the Dockerfile in the repo. If the application is a static site or serverless zip, provide a path to the directory that contains the assets.
Server Applications
If you are launching a server application, Nullstone will launch the virtual machine and provide you with the connection information. In this case, you will need to configure your server using Chef, Puppet, Ansible, bash, or whatever tools you prefer.
To easily connect to your server, one option is to use the nullstone ssh command. Or you can configure SSH access and protect access with a Bastion and/or VPN.