The CI/CD and DevOps Blog

Parallelizing Tests across Your Builds

Warning-Icon.png

DEPRECATED BLOG:

We have significantly updated the Shippable platform with several new features. Hence most of the content in this blog is deprecated. For the latest information, refer to our documentation and/or open a support issue, if you have questions.


 

 

With your startup account subscription - you do have a startup subscription, right? - you can run up to five builds in parallel. You can exploit this to run your tests faster than ever! This can be done by partitioning your tests into 5 groups, and having each one of your minions run one of the groups. For those of you on custom plans with more minions, or those using dedicated hosts, you can create even more test partitions for greater parallelization! Today's example will be in the context of a rails app with rspec, but the same concept can be applied to whatever stack.

The first step is to add this to your app's shippable.yml file:

env:
matrix:
- TEST_GROUP=1of3
- TEST_GROUP=2of3
- TEST_GROUP=3of3

Get that Kubernetes cluster working !!!

[NOTE: Please check out our documentation showing how you can automate creation of a Kubernetes cluster on GKE using GCloud SDK and Shippable.]

-----------------------------------------------------------------------------------------

kubernetes cluster

This guide demonstrates how to build a 2 node kubernetes cluster. Kubernetes comes with a set of scripts to install on different cloud providers and locally on vagrant box that can be used for the cluster setup but the idea here to provide an installation mechanism that is provider and OS agnostic. So, at the end of this guide, we'll have a script that can be run on any two machines that can communicate with each other. The script will download the specified kubernetes and etcd release, install all necessary components to bring up kubernetes master and slave nodes,  and configure the components before booting them up.

Continuous Code Reviewing for Your Apps

Here at Shippable, we've been helping you apply continuous integration and deployment to your products for some time now. Have you ever thought about applying the same principles to enforcing coding style? Wouldn't it be nice to know automatically if code pushed to your team's repo passes your teams code style specifications? Today, I'm going to show you how to do this using Ruby, Rails, rubocop, and of course... Shippable!

How To Interact with Your Minions From Slack with Webhooks

Warning-Icon.png

DEPRECATED BLOG:

We have significantly updated the Shippable platform with several new features. Hence most of the content in this blog is deprecated. Go to the updated blog on this topic. For the latest information, refer to our documentation and/or open a support issue, if you have questions.


 

In our last post we discussed using the Shippable API to manually interact with your project through the terminal. That's cool and all... but poking APIs with curl is a little old-fashioned. Let's take it up a level. Today, we are going to show you how to plug Slack's external webhooks into our API. After doing this you can monitor your build status, trigger builds - whatever you desire - all from the comfort of your team's Slack channel!

Some of you might recall that we have talked about slack integration before in DevOps Notifications: A Simple Way to Use Slack with Shippable. You might be wondering, "Wait... If I could already integrate with Slack, how is this different from before?! How is this a new feature?" Great question! So, before we were using Slack's incoming webhooks feature; our app could talk to Slack, but there was no way for Slack to communicate back to our app. With our new API, you can now have one-way or two-way communication between Slack and your minions.

Shippable Employee Spotlight: Meet Charlie Crawford

Each month, we will feature a Shippable employee or customer through our blog and newsletter. This month, we spoke with Shippable's newest employee, Charlie Crawford, who has joined us as technical evangelist. In his role, Charlie is our chief blogger and responsible for bringing you product updates, how-tos, and a behind-the-scenes look at your CI/CD system. Feel free to reach out to Charlie via email or on Twitter. 

When did you join Shippable and what’s your role at the company?
I joined the Shippable team in early Febuary. I'm the company Technical Evangelist/Writer, wearer of many hats, and the voice of the customer! I've been having a great time defining what it means to be the company's technical evangelist, but at the same time, the fluidity of the role is half of the fun :)

What’s your favorite feature about Shippable?
A CI and CD solution that actually works. Furthermore, I don't have to
spend more time setting up my CI/CD, than I spent developing the actual application!

What is the biggest problem with the way software development is done right now?
That the amount of friction involved in writing software is regarded as acceptable. If it takes your new hire two weeks to make a build of your software... you're doing something wrong!