Overview
When you specify to build manually, Nullstone will not attempt to build the application. Instead, you are responsible for building the application code.
Once you have built an artifact, you can use the Nullstone CLI to automate push and deployment.
Push
The <artifact-name>
refers to the docker image, zip file, or publish directory.
nullstone push --source=<artifact-name> --stack=<stack-name> --app=<app-name> --env=<env-name>
If you don't specify a version, Nullstone will attempt to use the short commit sha detected from the Git repository in the current directory. Alternatively, you can specify a version using the --version
flag.
nullstone push --source=<artifact-name> --stack=<stack-name> --app=<app-name> --env=<env-name> --version=<version>
Deploy
nullstone deploy --source=<artifact-name> --stack=<stack-name> --app=<app-name> --env=<env-name>
As with the push command, if you don't specify a version, Nullstone will attempt to use the short commit sha detected from the Git repository in the current directory. Alternatively, you can specify a version using the --version
flag.
nullstone deploy --stack=<stack-name> --app=<app-name> --env=<env-name> --version=<version>
Integrations
Nullstone offers a set of integrations for popular CI/CD platforms.
GitHub Actions
The Nullstone GitHub Action installs the latest Nullstone CLI that you can use to run push, deploy, and other commands.
TIP
This integration guides you through initiating Nullstone deployments from GitHub Actions. If you want Nullstone to initiate a GitHub Actions build workflow instead, see GitHub Actions builder.
Make sure to:
- Set the
NULLSTONE_ORG
environment variable - Add
NULLSTONE_API_KEY
as a repository secret
env:
NULLSTONE_ORG: nullstone
NULLSTONE_API_KEY: ${{ secrets.NULLSTONE_API_KEY }}
jobs:
build:
runs-on: ubuntu-latest
steps:
... other steps
- name: Set up Nullstone
uses: nullstone-io/setup-nullstone-action@v0
- run:
nullstone push --source=<artifact-name> --stack=<stack-name> --app=<app-name> --env=<env-name>
CircleCI
The Nullstone CircleCI orb provides steps to push and deploy to Nullstone.
Make sure to create a CircleCI context named nullstone
with:
NULLSTONE_ORG
set to the name of your Nullstone organizationNULLSTONE_API_KEY
set to your Nullstone API key
# .circleci/config.yml
orbs:
nullstone: nullstone/nullstone@1
workflows:
dev:
jobs:
- build
- deploy:
env: dev
context:
- nullstone
jobs:
build:
# .. Build docker image here
deploy:
environment:
NULLSTONE_APP: <app>
parameters:
env:
description: "Deployment target env"
type: string
steps:
- checkout
- nullstone/install
- nullstone/push:
source: <docker image built above>
env: << parameters.env >>
- nullstone/deploy:
env: << parameters.env >>