If you, like us, are a development company at heart, managing and taking care of your code is absolutely critical to your business, both in terms of your success with your customers and the continuity of your business. You need to know it's safe and you need to know it's well managed. You also need to be sure it's really easy for your development teams to work with.
That's why we recommend and use the Gitlab system, which sits on top of the popular Git version control system and provides a host of additional project and code management features besides. We provide this system as a hosted service and having Gitlab is like having your very own Github, just for your business, but for a fraction of the cost of Github's Enterprise offer.
It is free, open source, and has a great range of features. It has all the usual things you'd expect, a web UI for browsing code, history, managing users and repositories. It also has some great security features, like branch locking, to protect important branches from accidental change, and the ability to have granular control over who can access what.
It also has a similar feature to Github's “pull request”, called merge requests, but unlike pull requests, merge requests can go to and from anywhere on your Gitlab server, so they can act like pull requests in Github or they can be inside the project. And also like Github, it has full issue tracking built in, along with project management tools for defining milestones and reviewing project process against actual code commits.
And of course, you have a whole bunch of hooks built in so you can trigger actions in other systems based on events that happen in Gitlab. For example, we use the merge request hooks to build a Docker instance containing a pristeen copy of a customer's website every time a developer creates a merge request on a particular project, so the customer can review that feature in isolation for testing and sign-off.
Which takes us nicely to automated code deployment. Alongside Gitlab we run the popular open source continuous integration software, Jenkins. We write scripts for you to automate your usual deployment tasks, so your developers can save time and reduce the risk of human error in deployment, by having Jenkins execute the deployment steps, either on demand or via Gitlab hooks (for example, when code is pushed to a particular branch).
Such automation of code deployment saves organisations who carry out a lot of development enormous amounts of time, because developers go from losing literally hours a day deploying their code to development, stage and/or live to being able to simply push code and let Jenkins do the job for them while they move on with the next task. It also removes the need for operations support to deploy code for people on live systems, because the process is no longer carried out by a person.
And because with us you don't pay per project, but per server – and you only need one server to run our code deployment stack – your only limit is your disk space. And we can expand that for you whenever you need. Basic lights on cost for DevStack is £240 per month hosted*, or can be managed by our systems administrators on your own servers from £100 per month.**
* excludes set-up costs and custom script development, if required, which is priced separately, but includes 60GB of storage assuming a single medium private cloud server.
** excludes set-up costs, assumes managing one server.