What's New in Octopus 3.4: Elastic and Transient Environments
I'd like to take a step back from our deep-dives and behind the scenes posts to give an overview of the elastic and transient environments feature set. Elastic and transient environments introduces a bunch of new features that together enable far better support to work in environments where machines can come and go.
Machine policies are a collection of machine-related settings that enable you to customise what a health check performs (and how often it does it), control Tentacle and Calamari updates, as well as what happens when machines aren't available. These features greatly improve the way you work within environments where machines can come and go. Machine policies are set per machine and can be configured in the Environments screen.
Machine policies allow you to:
- Define the interval between health checks
- Define extra scripting to be run on the Tentacle during a health check
- Define the behaviour of offline machines during a health check
- Define when calamari and Tentacle are updated
- Define if the machines are cleaned up when found offline
Building upon Machine Policies, we have also introduced a health check step which enables you to trigger a health check as a part of your project's deployment process. This is valuable in environments where machines are regularly added or removed as well as long running deployments. Yes, this means that you can re-evaluate if machines are online during a deployment!
Triggers are a great new feature that ensures new machines added to environments are kept up to date with the appropriate releases. They execute in response to an event and are specified per-project. It allows you to create a trigger to automatically deploy when new deployment targets become available in specific environments for certain roles. Triggers can be found by selecting the Triggers menu item on the project screen.
Working together with the other new features, project machine connectivity settings allows you to specify what happens if a machine is unavailable during a deployment. This helps avoid failed deployments when a transient machine is unavailable at the time of deployment. This means you do not have to individually select the online machines as your targets for deployments! Instead we will automatically skip the offline machines.
I hope you enjoy exploring the highly requested features that make up elastic and transient environments. For more information, please see the elastic and transient environments guide.