.

Here at Shippable we love taking customers all the way to continuous deployment. We've detailed a variety of different ways to get there in the past, and today we are going to be bringing out yet another way. Today we'll be showing you how to trigger your Shippable builds, to push your rails apps to Engine Yard.

Before going any further, there are a few pre-reqs:

  • An active Engineyard account
  • A working rails app on github
  • An active Shippable account
  • The above rails app being enabled on Shippable
  • An application env already setup on Engine Yard

Read More

Topics: continuous deployment (CD), how-to, external service integration

Posted by Tom Trahan

This week, the Shippable team had the opportunity to present 'Modern DevOps with Docker' (describing our internal transformation - see below for more) and engage with the community at ApacheCon 2015 in Austin, TX.  We saw firsthand how the thriving group of dedicated professionals in the Apache community are tackling big challenges across the full tech spectrum.  In addition, while in Austin, we had the chance to connect with the tight-knit and talented DevOps Austin community and learn from their perspectives.  It was an energizing three days.

Read More

Topics: Github, Docker, continuous deployment (CD), development process, containers, continuous integration (CI), devops

This is the next blog post in the series where I’ll attempt to build a full multi-node kubernetes cluster from scratch. You can find the previous post here where I describe bringing up a two-node cluster without using overlay network.

The first thing you need once you start scaling up your containers on different hosts is a consistent networking model, the primary requirement of which is to enable two(or more) containers on different hosts to talk to each other.  Now port forwarding might give you the same result when dealing with less number of containers but this approach gets out of control very quickly and you’re left to wade through port forwarding mess. What we want in situations like these is a network where each container on every hosts gets a unique IP address from a global namespace and all containers can then talk to each other. This is one of the fundamental requirements for kubernetes network implementation as specified here.

Read More

Topics: Docker, containers

Sometimes it doesn't make sense to put all your code into one repo. It's common for projects to be spread across multiple repos, and linked together via git submodules. Shippable supports this workflow and all that's required is a few extra lines in your shippable.yml! If all the repos involved are public, you simply have to include commands to init and update the submodules in your shippable.yml file. Here's an example snippet:

script:
- git submodule init
- git submodule update

Read More

Topics: development process, continuous integration (CI), how-to

We recently found a bug that prevented us from deleting webhooks on GitHub when a user who had only authorized Shippable for public repositories deleted a project on Shippable. The root cause of this bug is that we have write:repo_hooks scope for public repositories, and this does not include permissions to delete a webhook. From GitHub documentation https://developer.github.com/v3/oauth/#scopes -

github_docs

Who is affected by this?

Existing users who have authorized Shippable only for GitHub public repos. 

Read More

Topics: Github