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.