GitLab, maker of the homonymous Git-based code management and continuous integration platform, and cloud platform provider DigitalOcean have partnered to provide free hosting to the open source community to move their continuous integration to the cloud.
The GitLab solution to continuous integration is based on GitLab CI, a service which manages projects/builds and is part of GitLab.com, and GitLab Runner, which is responsible for actually processing the builds, running the tests, and provides access GitLab CI through its API. GitLab CI provides essential features for CI such as build parallelization, realtime logging, versioned tests, etc.
GitLab Runner, which is written in Go, provides an autoscaling feature that is meant to automatically scale VM’s up and down when it is required to ensure that builds are processed as soon as possible. According to GitLab, GitLab Runner autoscaling makes it easy to run builds in parallel and is particularly well suited to run on DigitalOcean thanks to its fast start time, which makes it possible to have a new running instance in under a minute.
InfoQ spoke with GitLab CEO Sid Sijbrandij to learn more about what this announcement means for community developers.
Could you explain how the GitLab/DigitalOcean integration will be shaped? What is new?
DigitalOcean has been offering a Droplet template (prebuilt image) to quickly install GitLab for years. GitLab Runner Autoscale will allow developers running their own GitLab server to enter their DigitalOcean credentials, and developers are able to start and stop new Droplets automatically to make sure their Continuous Integration tests run fast, secure and cost effective.
In what scenarios will deploying Continuous Integration through GitLab on DigitalOcean bring the most benefits to the development process?
There are numerous factors that make make it more beneficial to use Autoscaling Continuous Integration with Digital Ocean and GitLab. Below are a few examples:
- The ability to use Continuous Integration and tests on many projects if you need to test many projects.
- The ability to run tests in parallel as opposed to long running test suites that are much slower.
- A solution for slow tests that use a headless browser to simulate the UI experience
- A solution for the fear of projects influencing each other and leaking information due to shared Continuous Integration machines.
- A solution for the unpredictable use of the machines throughout the day and month because of varied time zones and a SCRUM sprint every three weeks.
- The ability to run the tests on every proposed change as opposed to testing only after a change is accepted.
- A solution for expensive on-premises infrastructure and long lead time for provisioning new servers like at many large companies.
What does the availability of free runners on Digital Ocean mean for GitLab.com projects?
Developers can work on a project in private and use powerful Continuous Integration tools without signing up for multiple subscriptions. Historically, using a Continuous Integration tool was really expensive and if developers wanted to use 10 parallel runners they had to pay $550 per month. With the DigitalOcean partnership, Continuous Integration is now free for developers.
GitLab provides detailed instruction to install and configure Runners on DigitalOcean.