As a git pull request builder focused on the “build” part, Tugboat has added new service commands to support more flexible Preview builds! These additional commands provide support for post-build processes, and offer new possibilities for third-party integrations.
online service commands
Two of Tugboat’s new service commands are focused on adding functionality to your
.tugboat/config.yml to run after your deploy preview has built.
startcommand: runs every time a Preview container starts. You might use
startfor running a background process, or for warming volatile caches.
onlinecommand: these commands run once, after the Preview build has completed. You might use
onlineto kick off third-party integrations, such as starting visual regression testing with Diffy or triggering test runs with Testery.
These new service commands give you the option to execute instructions after the build process is complete, versus the original service commands
clone, that execute during the build process.
Service command for Cloned Previews
We’ve also added a new service command to execute lines in your
config.yml when you use Clone to create a duplicate from an existing deploy environment build.
When you use
clone as a service command in your config, Tugboat executes those instructions on the new deploy environment you’re creating when you Clone an existing Preview. Then, that duplicate Preview, with the additional instructions executed, gets committed as a build snapshot, so the instructions that run in your
clone command become a part of the new Preview.
You might use
clone when something in your Preview is derived from Preview ID or Service URL, where the values will change in the newly-cloned Preview. A good example of this is updating a WordPress database to work with the new Preview and Service URLs.
This is distinct from the behavior of the other new service commands, which run after the build process is complete; changes they make are not committed as part of the build Snapshot. Unlike the other commands, you can use
clone commands to add instructions that persist after Resetting a Preview, or when using it as a Base Preview.
How to use the new service commands
These new service commands work the same as our existing service commands: write them into each service you set up in your config.yml file. Use them alongside
build to structure your commands and get the functionality you want in your Preview environments. Then, every time you make a git pull request, your new Previews will incorporate those additional commands. (Or, in the case of
clone, new environments that you create by Cloning an existing environment will execute those new instructions.)