What's New in Escape: Git Tags, Provider Activation and Client-Only Mode

Bart Spaans, November 20, 2018

Tag Git on every successful release

Escape already used to compile Git metadata into a release so that each Escape release could be related back to a commit, but now you can also relate commits back to Escape releases.

Git tagging is not enabled by default, but needs to be explicitly set as an argument on the “release” command. escape run release --tag-git tags the current git commit with the full release ID, but it does not try and push these changes; whereas escape run release --tag-git --push-git-tags: tags the current git commit with the full release ID and also pushes the tags to the git server.

Provider Activation and Deactivation

Providers and consumers provide a nice pattern to decouple platform dependencies, and they just became a lot more powerful with the introduction of two new Escape Plan fields: activate_provider and deactive_provider. These two script fields can be defined in the provider’s plan and will be run whenever a deployment consumes it. For example: if my application consumes a kubernetes release, we can now define Kubernetes related scripts that need to be run before and after I do my application deployment (to manage credentials for example). Here are a few more examples of things you can do:

  • Activate and deactive VPN connections
  • Activate and deactive CLI tools (e.g. gcloud, aws, docker login, etc.)
  • Activate and deactive credentials

Client-Only Mode

One of the bigger changes in Escape lately has been the ability to release packages without having to run an Inventory server process. This new local Inventory is enabled by default and makes it easier for people to get started with Escape: just get the binary and you’re good to go:

curl -L https://www.ankyra.io/install_escape.sh | bash

It is still possible and even desirable to run the Inventory as a server process when working within a team or when using Escape as part of a CI/CD pipeline, but it is very well suited for local development; especially with the ability to pull only some namespaces from a remote Inventory and get the rest locally.

Excuse me, what is Escape? Get Escape

Bart Spaans, November 20, 2018

Tweet this