BuildMaster Documentation

Plans in BuildMaster

Deployment plans are at the heart of BuildMaster’s automation, and are used to direct the execution engine. They provide an easy-to-understand, visual representation of the “code” that is directing and structuring a deployment.

From a simple, single action deployment plan to a complex deployment plan involving multiple actions, PowerShell integrations, and customized action created via the BuildMaster SDK, plans help bring visibility to the entire release process.

Visual Editor

Beginning with version 5.0, BuildMaster’s visual editor provides a drag-and-drop interface to build deployment plans one step at a time, allowing for the entire development team to know exactly what’s happening to your release.

Release Components

Plans allow you to deploy applications through various stages, targeting numerous environments, and are created through either the visual editor or text mode. Giving you the flexibility to work in whichever mode you prefer.

Statements and Blocks

The execution engine interprets a plan as a series of statements and blocks, in a top-down manner.

  • Statements - most of the statements in your plans will be operations, but there are a few other statements that can help build extremely advanced plans.
  • Blocks - blocks contain statements and other blocks, and help with organization and flow error control; there are four block types:

If you're comfortable with programming or scripting, you may already be familiar with how these blocks work.

Blocks

Blocks provide an easy way to organize your plans and the sub-tasks those plans are made of. They can be nested as many levels deep as you need, and all blocks provide variable scoping (i.e. if you set a variable in that block, it will only be available within that block) as well as log scoping.

Operations

There are dozens of built-in operations in BuildMaster that allow organizations to create simple and complex deployment plans. Operations for Build Artifacts, Configuration Files, Database changes, Issue Tracking, Source Control, and even Email Notification are all ready to use ‘out-of-the-box’ in BuildMaster.

Plan Operations

With BuildMaster’s tight PowerShell integration, actions are extensible for any organizational need.

Global Scripts

Creating a Global Script in BuildMaster allows you to leverage the use of your current PowerShell and Shell scripts to automate part of the deployment process. Once a global script is created it can be used as an operation in any deployment plan. If you use PowerShell's header documentation standards, you'll even get rich descriptions for script arguments when editing in visual mode.

Global Deployment Plans

Global deployment plans in BuildMaster allow you to use the same plan across multiple applications and stages. When a global plan is edited, each use of the global plan is modified. Once the global deployment plan is created, it’s added to any stage or pipeline as an operation within a deployment plan. The combined use of variables and global deployment plans enables flexibility at an application level and automation on an organizational level.

Templates

Templates are reusable plans that can be called from another plan or another template, as if it were an operation. Like other plans, templates are created using the BuildMaster visual editor, or text mode, and consist of blocks. Template reusability allows for quick plan creation, greater accuracy, and infinite extensibility. Templates are commonly used when a portion or part of a deployment is used across multiple releases but customization is needed.

Versioning

As of v5.8, BuildMaster plans maintain a history of edits and allow rollback to any version similar to a "revert" in source control. Version history is maintained for both deployment plans and deployment plan templates.

Comparing Versions

On any plans listing page, select the version number to display a list of all versions of the plan. From the Plan Version Listing page, there are options to compare any previous versions with the current. On the Plan Version Comparison page, any global plan or plan from any application visible to a user may be compared side-by-side.

Plan Rollback

To rollback to a previous version of a deployment plan, select the "edit" option of the desired version from the Plan Version Listing page, and then save the plan. This will create a new version of the plan with the same contents as the rollback target.