As part of the [D4H] 2014 game plan we wanted to give a greater insight into our culture through our blog. So as part of this weekly Engineering post, we wanted to give a sneak peak into how we get system updates and the new features mentioned below make their way from a code editor on our development machines to a browser on your chosen device.
Image may be NSFW.
Clik here to view.
One of the first concepts that struck me when I moved to [D4H], was the simplicity of the deployment process; the method by which we push the code containing system enhancements, new features and bug fixes to our live servers.
In previous engineering roles, a 'deployment' was a feared word. It generally meant you could say goodbye to your weekend, and start dreading the tedious process of manually copying files to live servers, and running various scripts with the fear that a single typo could bring a whole application crashing down.
In [D4H], it's completely different. We use a continuous deployment workflow to automate and improve the process of software delivery, which gives us the ability to rapidly, reliably and repeatedly push updates to our customers through the service Beanstalk (for those curious, Beanstalk offer a free plan and great tutorials to get started with automated deployments). Other benefits of this service are that we can notify the whole team when an update has been made, as to what was deployed and who deployed it.
Image may be NSFW.
Clik here to view.
We are currently working on improving this workflow even further to automate testing as part build process. Before any code is pushed, we will be running a comprehensive test suite on every change before it reaches any live server, which we will continuously update in tandem with new features, adding extra reliability and robustness to our products.
Image may be NSFW.
Clik here to view.
I will write a post further down the line on the design decisions made, technologies used and how integrating this testing step panned out. I hope this insight into our development workflow has proved useful and we look forward to answering any questions you might have.
Release Notes (Week 15th - 21st February):
- Fixed a display with the critical flag on the equipment items status page.
- Fixed a timestamp display issue in firefox.
- Added the ability to soft-delete and hard-delete a member by moving them to 'Trash' first.
- Added the ability to soft-delete and hard-delete an activity by moving them to 'Trash' first.
If you've any questions, a great place for them is in our community forums where you can answer "what do you think of our continuous integration?" if you'd like to discuss this.
John Brett,
[D4H] Senior Engineer.