What are Machine images?
A Machine image is an pre-baked image that contains all the necessary components installed to run your CI (
runSh jobs. Every
Subscription (org/team depending on SCM you use) has a default version of the machine image configured. This default is setup whenever the first
CI or Assembly Line is enabled on Shippable.
The following picture shows the components of the machine image and how they interact with each other.
- When a new job is triggered, Shippable orchestration spins up a new build node, aka minion, with your default Subscription machine image.
- For CI jobs configured with shippable.yml, the Shippable Agent on the build node spins up a build container using either
the default Docker image depending on the
languagetag in your yml configuration or a custom Docker image if specified in the yml. All commands in the
post_cisection of your YAML are run inside the build container.
runShjobs configured in shippable.yml, commands in the
scriptsection are run in the Shippable Agent.
We currently offer the following Machine Images. The default Machine Image for your subscription is the latest image available when your Subscription was added to Shippable. Shippable officially supports the Machine Images for 12 months from their release date after which they're deprecated.
You can click on any image below to see what is pre-installed:
|Machine Image||Release date|
|v6.6.4 (latest)||June 28, 2018|
|v6.5.4||May 31, 2018|
|v6.4.4||May 2, 2018|
|v6.3.4||Apr 2, 2018|
|v6.2.4||Feb 25, 2018|
|v6.1.4||January 25, 2018|
|v5.10.4||October 27, 2017|
|v5.8.2||Aug 10, 2017|
|v5.7.3||Jul 20, 2017|
|v5.6.1||Jun 05, 2017|
|v5.5.1||Apr 26, 2017 (deprecated)|
|v5.4.1||Mar 30, 2017 (deprecated)|
|v5.3.2||Mar 11, 2017 (deprecated)|
|Stable||Feb 19, 2016 (deprecated)|
In most cases, the default Machine image set for your Subscription will be sufficient to run your builds. The main reasons why you might want to consider changing to a more recent image are:
- You need a newer language/service/package version
- You need a newer Docker version
Viewing a Node Pool Machine Image
When a subscription is imported in your Shippable account for the very first time, a Node pool is automatically created for you. The default Node pool has a single Ubuntu 14.04 on-demand node, with the latest released Ubuntu 14.04 machine image. A subscription can have multiple Node pools that you can create. Each Node Pool specifies the machine image in its
Runtime Version setting.
Here are the steps to view the
Runtime Version setting for a Node pool:
- View your Node pool using steps documented here
- Click on
Editon your Node pool.
- This will bring up a popup window where you can view the
Changing the Node Pool Machine image
- Follow instructions in the Viewing Node Pool Machine Images section above to view the
Runtime Versionsetting for the Node pool in your subscription.
- Click on the Runtime Version dropdown to select a different image version. Please note that this setting will
affect all jobs that are running on the node pool. A runCI/runSh job can be forced to run on a specific node pool by specifying the
runtimesetting in its yml.