The CI/CD and DevOps Blog

Announcing Shippable 1.0 - built on and for Docker!

We are very happy to announce that Shippable 1.0 is now live! This a major step forward for us and we are super excited to bring it to you.

Key upgrades in this release include  -

Faster build speeds

Shippable is now more than 2X faster than our competitors -

  • Our build minions (docker containers) spin up in a few seconds and come pre-installed with most languages and services to save installation time

  • Minions persist your codebase and other custom packages between builds, so they will not be installed every time

  • Node.js-based platform and SSD-based infrastructure

Why Shippable is All In on Docker

 

 

 

 

In April 2013, Shippable launched a Jenkins based CI using virtual machines (VMs). Our plan was simple - take the open source Jenkins, host it in the cloud, and start making money. After all, why would developers spend the time, effort, and money to set it up and maintain it when we were doing it for them for a few dollars a month?

Right? Nope.

Have container...will ship (or why Shippable uses containers)

carrying-containers

Recently, Shippable was listed in the top 10 startups built on docker. Of the top 10 startups listed, Shippable is the only startup using Docker to do continuous integration and deployment.

Docker of course, is the open source Linux container engine and in a future post, we will talk about why Shippable chose Docker.

Good commits come in small sizes......

IMG_1264

Dr Dobbs Journal has a great post in praise of small commits. As Jeff Ma points out, small commits have multiple benefits -

  • Smaller commits = Less code complexity = easier to understand = easier to test and debug
  • Smaller commits = faster code reviews = quicker feedback from reviewers
  • Quicker feedback from reviewers = less (mental) context switching for the developer

As Jeff says -

In a continuous integration environment, the speed at which commits are tested, added to the build, and possibly reverted is paramount. Builds are also faster for small commits because they are, by nature, smaller. Faster and more frequent builds translates into getting the product out faster and getting feedback more quickly. And because the commit is small, if you need to revert back to an earlier version of a build, that is also easier to do. An added benefit is that if you need to remove a commit that has a small scope of functionality, only that piece needs to be removed from the build, which leaves other features intact.

You can check out how Shippable can help you #shipcodefaster!

How many engineers does it take to…….?

NX_worker_team_pullingrope

Mary and Tom Poppendieck in their book Implementing Lean Software Development ask -

"How long would it take your organization to deploy a change that involves just one single line of code? Do you do this on a repeatable, reliable basis?"

You can also ask the very same question in a different way - how many engineers does it take to deploy a single line of code change? (and how much time will it take them?)

Just a sample of the questions you need to ask before coming up with an answer to that question -

How much testing will you be required to perform?

How much supporting documentation will you be required to produce?

How long will you have to wait for a test environment?

How many dependent systems will you need to test?

How long will it take to approve the change?

And, last but not least, how many of those activities add value, and how many waste time?

As Martin Fowler tweets -

https://twitter.com/martinfowler/status/437913623118090241