Flexible Deployment Workflow

Anna Yovandich

We're excited to release an improved Dashboard workflow that provides more flexible editing and deployment capabilities. It's crucial that developers have the ability to deploy one branch's changes to one or more environments (e.g. feature-branch to development and testing), or vice versa, share common environment configuration among many branches.

When a branch is intrinsically tied to an environment, developers are forced to merge feature branch changes into an environment branch or instantiate a new stack, in order to deploy. In addition to a brittle workflow, it also becomes increasingly unwieldy to manage and track multiple features - creating conflicts in the development branch that are tough to resolve, and features that are complicated to isolate and test. We aimed to solve this.

By removing the hard link between branch and envrionment, developers are able to deploy a branch's changeset to any environment. Along with decoupling the branch/environment relationship, Stackery's Dashboard Sidebar functionality is now separated into two routed tabs, Edit and Deployments, for streamlined editing and decluttered deployment management.

The Edit tab defaults to showing the current stack - the latest commit of the selected branch - in the stack workspace. Choosing a different branch will update the stack nodes with that changeset. Selecting an environment won't affect the workspace, but will determine which environment to use for deploying the selected branch's changeset. Once a deployment is prepared, clicking 'Deploy' will open CloudFormation where 'Execute' can be triggered. When the deployment is executed, the prepared deployment will show feedback as the deployment proceeds. When the deployment completes, it becomes viewable in the Deployments tab as 'Current Deployment'.

The Deployments tab displays current and previous deployments for the selected environment, showing the current deployment by default. Choosing a different environment will update the Sidebar with the deployments specific to it - which is useful for managing multiple deployments across environments. Clicking a deployment will update the nodes (in a read-only state) - showing a visual snapshot of the stack, event log, Git SHA, and timestamp for the deployment. Clicking individual nodes in this state will provide settings properties, links to logs, and monitoring metrics.

We have more iterations in store for the Sidebar workspace - aiming to improve editing capability and the deployment management. In the meantime, we hope your Stackery experience improves with the separation of branches and environments in the new and improved Sidebar.

Curious about Stackery and its capabilities?

Learn more