In previous versions of Escape build and deployment scripts were defined externally:

name: my-application
version: 0.1

deploy: deploy.sh

But starting with Escape v0.25 they can now be defined directly in the Escape plan:

name: my-application
version: 0.1

inputs:
- id: who
  default: World

deploy: 
  inline: |
    echo I'm a very complicated script
    echo Hello, $INPUT_who!

The simple form still exists, but has also been improved. In previous versions it was impossible to define arguments on your scripts, but in v0.25 we can pass all the arguments we like:

build: ./my-build.sh some-argument 

Another thing that was impossible was to run anything other than scripts with relative paths, but that’s also been resolved so roll on:

build: docker build -t my-image .

And for these short commands Escape also supports Escape Script expansions. Allowing you to write things like:

build: docker build -t $this.inputs.image .

All of these changes can make Escape Plans easier to read and should reduce the sprawl of small shell scripts.


Bart Spaans, March 16, 2018

Tweet this