We’ve been hard at work building the latest round of features for Harrow, consulting with our customers and friends to find out what is most important, and to make it easier to get started. We missed a release announcement in September as we had a couple of long-running tasks which we wanted to get finished before announcing!
We implemented a setup tool to help get people up and running, the tool guides you through setting up an organization and a project, whilst adding a repository, and allowing you to pick from some sample tasks that might be suitable for your stack.
We’re continuing to roll out improvements to the setup tool to pick up your repositories from your OAuth connected Git hosts if you have one, to simplify the process even more.
We added instrumentation to the operation setup procedure to let you know what our backend is doing to get your job a slot, and to get it running as quickly as possible. The instrumentation shows how long each stage of the setup for the operation host machine takes and lets you know that things are working even before your own operation logs start to become visible when your job actually starts.
Faster operation startup time
Based on the instrumentation we saw a couple of low-hanging fruit, shortening retry cool-off periods, and compressing some of the assets we upload to support your scripts, these are baked into the base image now, and the cooling-off period if looking for an operation host failed is shortened, this cuts around 100 seconds of the worst starting slow operations, for most people this is a 35-50 second improvement in startup time.
Operation header improvements
We now display a tonne of metadata on the operation header! The header now includes:
- The version of each of the project’s repositories that were checked out
- The new commits in each repository since the previous run of this operation
- The aforementioned operation instrumentation, there to let you know that the operation is starting, even if you haven’t seen log output yet.
The operation header now has a strong colour association with the health of your operation, from pending (purple) through running (yellow), eventually landing in one of black, red or green for fatally failed, normal failure and success respectively.
If you see a black build it can mean something infrastructure failed. More often than not however the setup phase failed, and the page will give you hints about what can have gone wrong, the most typical failure is authentication or network failure when trying to checkout repositories.
Handling Github webhooks
When sending a webhook from Github to Harrow to trigger an operation, the webhook body is now parsed and the correct branch is checked out of the corresponding repositories, this makes testing pull requests and branches really really easy. The Github integration “just works”, but we documented the details here if you’d like to know more.
The webhook body, is also now available on the disk in the container, if you want to post files into Harrow to trigger a build, for example (we do this to post a file from one build via curl to trigger another with the result) this is a great convenience, you can read more about this technique in the “Other” section of webhooks in the knowledge base.
Knowledge base released!
The knowledge base is a continuous work in progress, we’ve done a first-pass to get as much of the essential up-and-running stuff in there, but we plan on making our knowledge base the canonical source of dev-ops tips, tricks and learning resources on the web. Click here.
The knowledge base is open source, and built with Sphinx which is a wonderful tool for technical documentation, even outside Python projects, as a code-focused static site generator we couldn’t recommend it highly enough. If you have changes or suggestions for the knowledge base, check out the source and send us a pull request.
Improvements to log tailing
We’ve improved the speed, and colour handling of the log renderer, as well as having worked a little bit on the font spacing and sizing, to make them easier on the eye, whilst performing better. We have another improvement rolling out soon that’ll mean you don’t have to watch the logs “replay” when reloading an old operation.
Operation trigger reasons
Operations now include some metadata about how they were started, why and where applicable, by whom.
As operations on Harrow can be started by hand, via webhooks, schedules or triggered by changes to the Git repository, it’s really important to see what triggered an operation at a glance.
This has proven to be really useful to see not only, for example, that someone has triggered a job by hand because the previous one failed for some external reason perhaps, but also to see that your workmates are already on it if you had a bad build, or that they’ve taken steps to mitigate the problem.
Heads-up! This feature isn’t visible to everyone yet, but it will appear for you before Friday October 24th at the latest as we close-up the incremental roll-out.
One-click signup using Github
We’ve allowed connecting to Github using OAuth for a while via your settings page, and various parts of the application prompt you to sign up with Github incase you want to use the repository import tool, or have an easier time fixing repository deploy keys. Now we’re extending this to allow login for Github using OAuth.
Here’s the rub, if you signup with OAuth you don’t have a Harrow password, but the cool thing is you can still use the TOTP multi-factor authentication to secure your account!
We’ve built a concept of metadata for repositories, this is the basis for a lot of the logs you see now on the operation pages, and for the forthcoming “git events” triggers, which will allow to start jobs in reaction to new or changed commits, branches or tags in your repositories.
We also plan to use this metadata to help you get your Harrow account ready to use by scanning for common languages, frameworks and tools to suggest tasks that are already customized to you and your environment.
We’re currently trailing some of these features with some users and once they are stable enough we’ll release them to everyone!
Overall improved styling
We don’t have a dedicated design person on staff, but we’re hiring, the latest round of UI overhaul trends towards the direction we want to take in the future, but we have more improvements incoming.
Keep your eyes open, subscribe to our RSS feed or create an account to stay informed about the improvements we’re rolling out over the next few weeks!
30 days free trial – no credit card required
Want to try Harrow.io? Start immediately with a 14 day free trial or learn more
Harrow.io is a platform for Continuous Integration, testing and deployment, built by the team behind Capistrano.
Add powerful automation and collaboration capabilities to your existing tools.
- Automate any software, in any language.
- Create self-documenting, repeatable web-based tasks
- Make them available for your team-mates
- Trigger tasks automatically based on Git changes and webhooks.
- Get notified by email, slack, etc.
- Free for small projects
Test, deploy and collaborate online easily, using tools you already know and love.
Works seamlessly for PHP, Node.js, Ansible, Python, Go, Capistrano and more!
No credit card required – completely free for small or public projects.