Build Tools: The Easy Workflow for Advanced Dev Teams

We often see teams struggle to connect their desired tools, and we're trying to change this! Learn about the benefits of  Build Tools 2.0, and find out if it's right for your development team.

build tools

Today, the web is an exciting, dynamic, and sometimes overwhelming mesh of technology. WebOps teams require a whole new level of expertise to combine merge requests, build steps, Composer-managed repositories, automated deployments, automated testing, and more. All of these integrations allow teams to benefit from a high-velocity, low-error workflow. However, setting up that workflow can be an incredibly daunting task and any excitement in leveling up can be lost to the struggle of making all the pieces work together. 

For teams that are looking to make the leap to incorporate more of these practices into their workflow, getting from here to there can seem like an impossible journey.

Enter, Build Tools

As we saw teams repeatedly struggle to connect their desired tools together, we realized there was an opportunity to make things just... work. Wouldn’t it be awesome if we could support developer teams that were trying to set up automatic deployment to Pantheon by creating a single command? Diagram, automated deployment to Pantheon using continuous integration

Build Tools is a plugin that extends Terminus, Pantheon’s command-line interface tool. It’s a quick way to connect an external Git repository, a continuous integration service, and Pantheon. It also ships with additional tests and commands you can use to make your workflow more efficient.

Creating a Build Tools project is easy, but it’s important to understand the components and how they work together. It’s a good fit for your team if your project needs a more complex workflow and your team is comfortable with command-line tools, bash scripts, and wants to use a CI to automate the build, deploy, and test the project workflow.

If that sounds like you, here are some ways Build Tools will be a great advantage to your team: 

Save Time and Effort on Setup Complexity

One of the most time-consuming processes for developer teams is setting up continuous deployment integrations for each new project. There’s a lot of potential for errors and getting stuck along the way. With Build Tools, we provide you with a single command to create your repository, set up a continuous integration service, and connect your deployment to Pantheon. All you have to do is provide authentication tokens.

Want to use Behat testing or add a visual regression test as a pre-deployment step? Build Tools comes with examples you can use to get started and expand on for your site’s needs. 

Deploy Often and Fix Issues Quickly

As a part of using Build Tools, we also recommend some best practices for your developer teams. With the Pull Request (or Merge Request) workflow, your teams can work on different features in parallel, take part in code reviews, and run automated testing on their pull requests before the code is merged into the site. 

With the confidence that your tests are passing, you and your team will be able to deploy at a quicker pace than before. Your team will be able to see blockers as they come up (when tests fail) and fix them as needed. 

Improve Your Humans, Too

Pull requests can be a mechanism to help your developers level up. It also creates documentation for future developers and keeps a record of where changes were made. By reviewing and discussing code, developers can improve their code readability, write better comments, and learn from each other. 

Integrate with Your Preferred Suite of Tools

Your team probably has a preferred set of tools for managing issues and a CI provider that you’re familiar with. Now, Build Tools supports more of those options, allowing teams to connect to the Atlassian suite (Bitbucket Pipelines), Gitlab + Gitlab CI, as well as Github and Circle CI. 

Once your team has automated deployments working, maybe you’ll want to use more cloud integration tools like our Quicksilver platform hooks, which will allow you to customize your workflow by integrating tools like Slack, visual regression testing, or cross-browser support. 

Build Repeatable Practices Into Your WebOps Strategy

WebOps is about empowering cross-functional web teams to work together efficiently towards their goals. Automated deployments with CI allow teams to deliver high-quality code much faster and helps automate parts of the process that are error-prone. In this way, your team can focus on strategy and best practices—you can build a workflow that works well for the whole team. 

New in Build Tools 2.0

We released Build Tools 2.0 earlier this year in May. It now supports Terminus 2, adds GitLab and BitBucket Pipelines support, and includes several improvements to usability, additional commands, and bug fixes. 

With Build Tools 2.0, we’ve iterated on and improved our best practices and recommendations to help support teams with default template repositories (or upstreams) to start with, recommendations on pull request workflows, and the first steps of testing. Our example projects include testing to help validate the basic capabilities of the given framework. You can customize these tests and add more to fit your project needs.Gif diagram showing what Build Tools supports


The Future of Build Tools

As the open web matures, more and more people will build websites with these tools and this workflow. We look forward to seeing what’s next for Build Tools and it’s contributors. 

In the next few months, we’re going to collaborate with Gitlab on a blog post talking about our 2.0 release and how it makes the process to set up a site a lot easier than it was last year

We are also exploring how we can make our documentation less abstract—possibly by adding videos or reorganizing our guide by complexity. I’m looking forward to creating a public roadmap to share what we’re working on and prioritizing for transparency. I believe it’s important to think about the sustainability of an open-source plugin and creating a better onramp for new contributors and users of Build Tools.

We’ve got some exciting work in the pipeline—like our project convert command, for example, that allows customers to convert their existing sites to a Build Tools workflow. We get asked for this all the time so we’re planning to include it as an alpha method with the next release (a pattern we learned from Drupal core’s alpha-stability modules). This way, our users and contributors can still experiment with the new functionality they’re looking for, but know that it may not work for every scenario. 

Finally, I invite you to join me in Office Hours with all your Build Tools questions. I’ve also been thinking about reviewing issues together on a livestream—if that’s something you’re interested in, please let me know!

You might also like: 

Topics Development, WebOps, Website Technology