Well it’s been a busy year for us! We have built a newly designed site from the ground up, we have worked to make Press Loft a truly international service for journalists and brands, and we organised the finest christmas party this side of the river thames (If we do say so ourselves).
For the final post of 2014, we thought we’d share some work we have done in order to improve our workflow and quality control of all code that is written.
Integration with Github
Integrating Press Loft with Github now provides us with a powerful platform in which to collaborate on new projects and deploy fixes and site changes much quicker than we ever have before.
Every developer at Press Loft now has their own dedicated environments to work on. Which combined with Github means we can concurrently work on the same files without worrying about overwriting each others’ work, which makes prototyping new ideas a breeze.
Once we have finished working on something, we commit our changes to our branch, and then we send a pull request to our main branch (A pull request is a way of contributing changes to a project or website). There is always a manual quality check of the code before it gets sent to the main branch, just to be sure it won’t break the site in anyway.
Once we have successfully merged our work to the main branch, Jenkins then takes over to deploy our work to a testing environment where the changes can be approved by our internal teams and then deployed to the live site.
Jenkins is a tool that provides a range of continuous integration services for software development. We will be using it to not only deploy changes to the live site multiple times daily, but to also run automated logic tests to make sure our changes work in the way they were meant to. And every time one of those tests fail, we will be sent an email with an outline of the failures and the deployment will be stopped. This means any mistakes in our code will be picked out before it goes out to public (Less headaches for us and the users!).
There are three main technologies behind this testing wizardry:
1) Behat – This is the tool that allows us to conduct automated behaviour driven testing
2) Mink – An extension to Behat which allows for web acceptance testing.
3) Selenium – This works with Mink in order to automate the web browsers that we use to test the site.
So that’s it from the Press Loft tech team, have a wonderful christmas and see you in 2015!