Deployments with shell commands just got a lot better

Using our shell deployments, which run through SSH, gives you one of the best ways to create a really flexible and powerful deployment workflow, with all the extra steps and precautions taken into account. Today, it's just got a lot easier.

First of all, we introduced a new default mode of execution for your shell commands. By default all the commands are now executed as a single script.This means that the restriction of line by line execution was lifted and you can do lots of interesting things easier now. You can define variables on one line and use it on another one without any tricks.

# Configuration
TARGET=/my/big/app

cd $TARGET
git fetch origin
git reset --hard %REVISION%

You can still switch to old line by line execution mode in deployment server settings, and all deployments configured before this update still have the old mode enabled. If you want to switch them to a new default you need to update their settings manually. Important thing to note is that when you execute whole set of commands as a single script, all commands will be executed even if some of them fail (like in regular bash script) and only the exit code of last command will decide if deployment succeeds or fails. To make deployment fail on the first failed command in the script you can add set -e command at the top.

We also now provide a whole new level of editing experience for the shell scenarios, with sh syntax highlighting that also highlights the special DeployBot variables available to you.

Syntax highlighting supports available variables

Another important update is that now, when you are not running script in line by line mode, we attach a terminal emulator to the deployment process. That means your shell environment will now be exactly what you see when you log in to the server manually and the commands will behave the way you expect, because server's shell will no longer switch itself into the often confusing non-interactive mode.

Transfer log, also got a nice style update along with some fixes and minor improvements.

Transfer Log

We hope these changes will allow you to be more productive and have more confidence in your deployment process. There are many tricks up our sleeves, with lots of good things coming soon, many of which were motivated by the requests from our customers.

We'd really like to hear your opinion on this update and what is important for you, please let us know what you think!