I won't lie, I love Wercker. While continuous delivery is a popular topic these days, you'd be hard-pressed to find a higher quality platform that seems to be built specifically with individual users in mind.
As a freelance developer, managing a growing collection of client projects can get very expensive when using tools that are designed for larger organizations, so I have a lot of loyalty to services that provide an approachable system for teams of all sizes.
One of the best features that Wercker provides is their Step Marketplace. This is a place where third-party developers can share custom integrations with other tools and services to help speed up the design and build process of new delivery pipelines. While there are a ton of integrations to choose from, I've gone through and picked out my five favorites.
Pretty Slack Notify
Let's face it, everyone uses Slack, so it should come as no surprise that there are literally dozens of Slack notifier Wercker steps. While Wercker does offer their own notifier, the Pretty Slack Notify step by Wantedly is by far the most popular. What makes this particular one stand out is how clean the channel notification is, and with the ability to configure everything from the username to additional messages after successful builds, it is the perfect solution for staying up- to-date with build and deployment statuses.
GitHub Create Release
When it comes to developing open source libraries, I'm a big fan of GitHub's release functionality. But, like any repetitive step in a development process, I prefer automation, which is where the GitHub Create Release step comes into play. This step automatically creates a GitHub tag and release based on the tag provided in the step. While this may seem simplistic, the true power comes from the flexibility of the wercker.yml file, allowing you to pull version information directly from the source code and apply it to the release step:
name: get version from rake
code: export APP_VERSION=$ (rake version)
While there is a lot of power in using a full virtual or cloud server environment, the usability of Heroku is second-to-none. Heroku is the perfect platform for freelance developers, as a complete hosting environment can be transferred to any other Heroku user without any additional overhead, which means less time dealing with delivering code, and more time writing it.
As with creating GitHub releases, just because something is great doesn't mean it can't be improved, which is where the Heroku Deploy Wercker step shines. While Heroku offers some basic GitHub-based deployment automation, this Wercker step takes is further by providing the ability to run commands before and after deployment. Things like unit tests, database migrations, and cache busting can all be worked directly into a Heroku CI/CD pipeline.
Deliver Pivotal Tracker Stories
You'd struggle to find an engineer who hasn't used Pivotal Tracker at least once. Pivotal Tracker provides the ability to link version control commit messages with individual stories, allowing developers to quickly update statuses without leaving their preferred development environment.
Unfortunately, this increased functionality only works at an individual story level, which means larger deployments have to be delivered one by one. The Pivotal Tracker Mark as Delivered Wercker step is the perfect solution to this problem. It dig through all of the commit messages in a push and mark each associated Pivotal Tracker story as delivered.
For the uninitiated, Rollbar is a popular error tracking platform that works with most popular platforms. One of the most useful features that Rollbar offers is their deployment tracking functionality. This feature allows you to make a note in Rollbar whenever new code has been deployed. This makes it significantly easier to tell when a bug was introduced into the code, and more importantly, if a particular deploy fixed a hard-to-diagnose error. With the Rollbar Notify Wercker step, this information can be automatically tagged, giving you total transparency into what is happening with your codebase and how.
About the Author
Zachary Flower is a freelance web developer, writer, and polymath. He has an eye for simplicity and usability, and strives to build products with both the end user and business goals in mind. From building projects for the NSA to creating features for companies like Name.com and Buffer, Zach has always taken a strong stand against needlessly reinventing the wheel, often advocating for the use of well established third-party and open source services and solutions to improve the efficiency and reliability of a development project.
We’re hiring! Check out the careers page for open positions in Amsterdam, London and San Francisco.
As usual, if you want to stay in the loop follow us on twitter @wercker or hop on our public slack channel. If it’s your first time using Wercker, be sure to tweet out your #greenbuilds, and we’ll send you some swag!