What do modern DevOps teams demand from their continuous delivery workflows? Continuous integration, cloud deployments, feature branching, testing, Software Bill Of Materials (SBOMs), and dependency vulnerability scanning are just a few of the features that high performing teams need to quickly deliver and maintain high quality software.
But how do you actually implement these processes? We've shared a lot of opinions in this blog over the years to help teams get the most out of Octopus, but it feels like we were often telling the end of the story. We wanted to "make complex deployments easy", but we frequently skipped over the unglamorous work of setting up even the most minimal realistic sample environment. This left you, the reader, to write your own sample applications, instantiate your own cloud infrastructure, populate your own Octopus configuration, and copy/paste our samples before following along with our latest how-to guide.
We want you to experience the power and joy of a modern continuous delivery workflow to the platforms you actually use, but without spending days setting up your tools. This is why we built the Octopus Workflow Builder, and we'd love your feedback on this early release.
What is the Octopus Workflow Builder
The Octopus Workflow Builder provides a simple wizard where you select the platform you want to deploy to (EKS, ECS, and Lambdas are supported in this release), enter the Octopus cloud instance you wish to populate with sample deployment projects, enter your AWS keys, and authorize the application to create a GitHub repository on your behalf.
The Workflow Builder will then populate a GitHub repository with:
- Sample web applications
- Terraform configuration files to create ECR repositories and populate an Octopus space with the Octopus Terraform provider
- GitHub Actions workflows to compile, test, and publish the sample applications and apply the Terraform configuration
This in turn populates your Octopus instance with:
- Environments, accounts, lifecycles, feeds, and targets
- An infrastructure deployment project creating either an EKS cluster, and ECS cluster, or an API Gateway to expose Lambdas
- A backend deployment project that deploys a RESTful API, smoke tests it, and performs an integration test with Postman
- A frontend deployment project that deploys a static web application, smoke tests it, and performs an end-to-end test with Cypress
- An environment where security scanning is performed against an SBOM package generated from the associated application's dependencies
The end result is an opinionated CI/CD workflow for deploying, testing, and maintaining real cloud-based applications. Best of all, the entire workflow is configured in your own GitHub repository and Octopus instance, so you have complete control to customize the process however you want.
The following videos highlight the features of the sample deployment project created by the Workflow Builder:
We want your feedback
We would love to get your feedback on this early release of the Workflow Builder to help us iron out any bugs and to understand if the tool is useful for you.
We have a GitHub issue where you can submit any feedback.
Accessing the source code
We hope you enjoy the Octopus Workflow Builder, and look forward to any feedback you have to help us make this the best tool it can be.