Announcing Windows, Mac OS, and CentOS BUILDS

- By Manisha Sahasrabudhe on January 25, 2018

Today, we are excited to announce support for multiple Operating Systems, including Windows, Mac OS, and CentOS. From the start, our goal at Shippable has been to provide you with a common CI and DevOps platform for all your applications, irrespective of application technology and architecture. 

Our journey started with Continuous Integration (CI) in 2013, when we debuted the first CI platform to support native Docker workflows for our customers. Last year, we added Assembly Lines to let you easily define end-to-end workflows across your DevOps tools to achieve Continuous Delivery with Application Release Automation, Release orchestration, approval gates, etc. This completed our end-to-end support for Ubuntu applications. 

As much as we like Ubuntu, most Enterprises have a mix of applications across multiple Operating Systems. We are proud to expand Shippable today with support for multiple platforms, as well as a bunch of other enhancements that will help you manage build infrastructure and create CI, CD, and DevOps workflows more easily.

Let's look at the top features launched today. In upcoming weeks, we will post detailed blogs on how to use each of these features.


Run jobs on Windows, Mac OS, and CentOS

You can now run jobs across multiple Operating Systems for repositories in the same GitHub organization or Bitbucket team. So if your organization has a mix of Ubuntu, Mac, and Windows apps, you can now specify which platform you want the job to run on in your shippable.yml, and we will manage the rest! 

For more information, please read the following documents:


Better resource management with Node Pools

Every organization has a mix of jobs with difference resource and platform needs. With today's release, you can create Node Pools and allocate a specific pool for each job. 

This is tremendously helpful in the following scenarios:

  • You have a few resource intensive jobs while most of your jobs can run on a standard c4.large build node. You can now choose to buy just one or two bigger nodes, create a pool for these, and allocate the pool for your resource intensive job(s). The rest of your jobs will still run on your default node pool with c4.large nodes.
  • You want to run jobs for a mix of Operating Systems from within the same Subscription. You can now buy a mix of node SKUs, create SKU specific pools, and allocate the right pool for every job that requires a specific pool. 


A node SKU is a combination of architecture and operating system version. As part of this effort, we have introduced several node SKUs that are available for purchase:

  • c4.large.ubuntu
  • c4.xlarge.Ubuntu
  • c4.2xlarge.Ubuntu
  • Bring your own Node (BYON) Ubuntu
  • BYON iOS (new)
  • BYON Windows Server (new)
  • BYON CentOS (new)

Pricing for these SKUs is covered on our Pricing page

For more information on these features, please read the following documents:


runSh enhancements: custom images, run builds on host, and more

We have made tremendous improvements to our runSh job, which lets you run your custom scripts as part of your workflow. We have written a new runSh tutorial to show you how to use the new features.

Some highlights from today's launch are:

  • Using custom images:  Just like with runCI, you can now use any custom image for your runSh jobs. Read the docs to learn how to do this.
  • Specifying more than one TASK section: You can now split your custom scripts across several TASK sections, which can each use its own custom Docker image. This gives you the powerful ability to share a across these TASKS.
  • Running a TASK on the host machine: This means you can now configure your runSh job to run some TASKS on the host machine, and others inside a Docker container. 
  • Specifying static environment variables at a TASK level
  • Specifying multiple commands in a TASK section: Earlier multiple commands had to be either chained together in a single script tag creating long, hard to read commands OR you had to specify multiple script tags in the runSh job yml to specify multiple commands. 


Analytics beta 

Besides the features above, we have also launched a beta version of our Analytics addon. At launch, we have introduced a couple of key graphs showing Job Quality and Job Duration, based on your build history. We will enhance Analytics to include many KPIs at a Job, Subscription, and Organization level to help you identify bottlenecks and optimize your CI and DevOps workflows.


When will you see all these changes?

We want to make sure that we roll out this release in a careful manner that minimizes risk. After your Subscription is upgraded, your CI and Assembly Line jobs will continue to work as expected. 

Our plan for rolling out this release is as follows:

  • All Subscriptions, except those using Custom Hosts(BYON), will be upgraded in a phased manner over the next 3 weeks. Our estimate for completing all upgrades is February 15, 2018.
  • Subscriptions using Custom Hosts will be sent separate communication in the next few days with instructions to self-upgrade.  

 We hope you enjoy these new features over the next few weeks. As always, we're happy to answer questions or jump on a call to help configure. We'll also announce a series of blog posts and webinars in the near future to help demonstrate the new functionality in greater detail. 

Happy Shipping!