Run shell script commands in the pipeline. This is a generic step designed to be deployment engine agnostic.

Hierarchy (view full)

Constructors

Properties

commands: string[]

Commands to run

dependencyFileSets: FileSet[]

The list of FileSets consumed by this Step

env: Record<string, string>

Environment variables to set

- No environment variables
envFromCfnOutputs: Record<string, StackOutputReference>

Set environment variables based on Stack Outputs

- No environment variables created from stack outputs
id: string

Identifier for this step

inputs: FileSetLocation[]

Input FileSets

A list of (FileSet, directory) pairs, which are a copy of the input properties. This list should not be modified directly.

installCommands: string[]

Installation commands to run before the regular commands

For deployment engines that support it, install commands will be classified differently in the job history from the regular commands.

- No installation commands
isSource: boolean

Whether or not this is a Source step

What it means to be a Source step depends on the engine.

outputs: FileSetLocation[]

Output FileSets

A list of (FileSet, directory) pairs, which are a copy of the input properties. This list should not be modified directly.

Accessors

  • get consumedStackOutputs(): StackOutputReference[]
  • StackOutputReferences this step consumes.

    Returns StackOutputReference[]

  • get dependencies(): Step[]
  • Return the steps this step depends on, based on the FileSets it requires

    Returns Step[]

  • get primaryOutput(): undefined | FileSet
  • The primary FileSet produced by this Step

    Not all steps produce an output FileSet--if they do you can substitute the Step object for the FileSet object.

    Returns undefined | FileSet

Methods

  • Add an additional FileSet to the set of file sets required by this step

    This will lead to a dependency on the producer of that file set.

    Parameters

    Returns void

  • Add an additional output FileSet based on a directory.

    After running the script, the contents of the given directory will be exported as a FileSet. Use the FileSet as the input to another step.

    Multiple calls with the exact same directory name string (not normalized) will return the same FileSet.

    Parameters

    • directory: string

    Returns FileSet

  • Add a dependency on another step.

    Parameters

    Returns void

  • Configure the given FileSet as the primary output of this step

    Parameters

    Returns void

  • Crawl the given structure for references to StepOutputs and add dependencies on all steps found

    Should be called in the constructor of subclasses based on what the user passes in as construction properties. The format of the structure passed in here does not have to correspond exactly to what gets rendered into the engine, it just needs to contain the same data.

    Parameters

    • structure: any

    Returns void

  • Configure the given output directory as primary output

    If no primary output has been configured yet, this directory will become the primary output of this ShellStep, otherwise this method will throw if the given directory is different than the currently configured primary output directory.

    Parameters

    • directory: string

    Returns FileSet

  • Return a string representation of this Step

    Returns string

  • Define a sequence of steps to be executed in order.

    If you need more fine-grained step ordering, use the addStepDependency() API. For example, if you want secondStep to occur after firstStep, call secondStep.addStepDependency(firstStep).

    Parameters

    Returns Step[]