STEP

Deploy Stackery stack

This step executes a stack deploy.

stackery-step-stack-deploy

This Stackery deployment step container deploys a Stackery stack to a Stackery environment. It uses the CodeBuild strategy for Git repositories that are linked to a Stackery environment and the local strategy for Git repositories that are provided as part of the step specification.

Specifications

SettingChild settingData typeDescriptionDefaultRequired
stackerymappingA mapping of Stackery account configuration.NoneTrue
keystringThe CLI token key to use.NoneTrue
secretstringThe CLI token secret corresponding to the given key.NoneTrue
awsmappingA mapping of AWS account configuration.NoneTrue
accessKeyIDstringAn access key ID for the AWS account. You can pass the ID into Nebula as a secret. See the example below.NoneTrue
secretAccessKeystringThe secret access key corresponding to the access key ID. Pass the key into Nebula as a secret. See the example below.NoneTrue
regionstringThe AWS region to use (for example, us-west-2).NoneTrue
stackNamestringThe name of the Stackery stack to deploy.NoneTrue
environmentNamestringThe name of the Stackery environment to deploy to.NoneTrue
templatePathstringThe path, within the given Git repository, to the SAM template file to build.container.yamlFalse
gitmappingA map of git configuration. If you're using HTTPS, only name and repository are required.NoneFalse
ssh_keystringThe SSH key to use when cloning the git repository. You can pass the key to Nebula as a secret. See the example below.NoneFalse
known_hostsstringSSH known hosts file. Use a Nebula secret to pass the contents of the file into the workflow as a base64-encoded string. See the example below.NoneFalse
namestringA directory name for the git clone.NoneFalse
branchstringThe Git branch to clone or reference for the build.masterFalse
repositorystringThe git repository URL.NoneFalse
osmappingAdditional configuration for the step container's operating environment.NoneFalse
packagesarrayA list of additional Alpine Linux packages to install.NoneFalse
commandsarrayA list of additional Bash commands to run before the step is executed.NoneFalse

Note: The value you set for a secret must be a string. If you have multiple key-value pairs to pass into the secret, or your secret is the contents of a file, you must encode the values using base64 encoding, and use the encoded string as the secret value.

Limitations

This step does not currently support local builds that need a .NET Core runtime.

Examples

Using CodeBuild

steps:
# ...
- name: stackery-deploy
  image: relaysh/stackery-step-stack-deploy
  spec:
    stackery:
      key:
        $type: Secret
        name: stackery-key
      secret:
        $type: Secret
        name: stackery-secret
    stackName: my-wonderful-stack
    environmentName: production
    aws:
      accessKeyID:
        $type: Secret
        name: aws-access-key-id
      secretAccessKey:
        $type: Secret
        name: aws-secret-access-key
      region: us-west-2
    git:
      branch: prod

Building locally

steps:
# ...
- name: stackery-deploy
  image: relaysh/stackery-step-stack-deploy
  spec:
    stackery:
      key:
        $type: Secret
        name: stackery-key
      secret:
        $type: Secret
        name: stackery-secret
    stackName: my-wonderful-stack
    environmentName: production
    aws:
      accessKeyID:
        $type: Secret
        name: aws-access-key-id
      secretAccessKey:
        $type: Secret
        name: aws-secret-access-key
      region: us-west-2
    git:
      ssh_key:
        $type: Secret
        name: ssh_key
      known_hosts:
        $type: Secret
        name: known_hosts
      name: deploy
      branch: master
      repository: git@github.com:stackery/react-single-page.git

Integrations in this step

Install the Relay CLI

Relay CLI is an essential companion for authoring and managing workflows. You can install it with a package manager or download it.
brew install puppetlabs/puppet/relay
Learn more about setting up Relay.

How to contribute

We’re excited to see and share in our community’s creation. Take a look at our community overview to learn how to begin contributing to Relay.