We’re excited to announce the availability of Workflow Builder, a visual tool that lets you build serverless CI/CD pipelines on Semaphore without writing YAML.
Our mission at Semaphore is to make CI/CD simple so that you can focus more on developing features for your users. To that end, earlier this year we introduced complex pipeline workflows and custom Docker container-based agents. Along came many smaller improvements such as global job configuration, parallelism, and a common DSL for defining conditions for pipeline block execution, promotions and fast-failing.
The love/hate relationship with YAML
Modeling complex systems with YAML alone can be very tedious. Here’s a confession: even Semaphore engineers copy and paste YAML snippets instead of writing configuration from scratch — and end up fixing an occasional syntax error.
And yet YAML is pretty much the best thing we have for declaring infrastructure as code.
That doesn’t mean that writing YAML is the optimal experience.
We asked ourselves how could we make the process of building and extending CI/CD pipelines easy for any developer, instead of making that something that teams delegate to a specialist.
We went back to our roots. Back in Semaphore Classic, the Build Commands Editor enabled a quick and intuitive way to set up your CI steps. The new Workflow Builder is a product of taking the same principles and applying them to a solution that can unleash the full power of Semaphore 2.0 workflows.
To edit your current Semaphore configuration, click on the “Edit” button at the top of any workflow.
When you go to create a new Semaphore project, the Workflow Builder is now the default way of defining your pipeline.
The Workflow Builder lets you commit your current CI/CD configuration into your Git repository without leaving Semaphore. So you can iterate on your pipelines in a fast edit-run-edit cycle.
What’s next for the Workflow Builder?
There’s a lot to be excited about the Workflow Builder, and there’s lots more to come. Here are some of the highlights:
- Modeling deployment and delivery steps with promotions.
- Advanced block configuration like setting up build matrices, auto-skip conditions, and global job configuration.
- Intelligent language and framework detection.
We’re very excited to see what pipelines you’ll build in the Workflow Builder! Please let us know if you have feedback or suggestions for further development.