<p>Screwdriver now supports running builds across multiple build clusters. This feature allows Screwdriver to provide a native hot/hot HA solution with multiple clusters on standby. This also opens up the possibility for teams to run their builds in their own infrastructure.</p>
<p><!-- more --></p>
<p><b>Screwdriver Users</b></p>
<p>To specify a build cluster, Screwdriver users can configure their screwdriver.yamls using annotations as shown below:</p>
<pre><code>jobs:
main:
annotations:
screwdriver.cd/buildClusters: us-west-1
image: node:8
steps:
- hello: echo hello
requires: [~pr, ~commit]
</code></pre>
<p>Users can view a list of available build clusters at <code>/v4/buildclusters</code>. Without the annotation, Screwdriver assigns builds to a default cluster that is managed by the Screwdriver team. Users can assign their build to run in any cluster they have access to (the default cluster or any external cluster that your repo is allowed to use, which is indicated by the field <code>scmOrganizations</code>).</p>
<p>Contact your cluster admin if you want to onboard your own build cluster.</p>
<p><b>Cluster Admins</b></p>
<p>Screwdriver cluster admins can refer to the following issues and design doc to set up multiple build clusters properly.</p>
<ul><li>Design: <a href="https://github.com/screwdriver-cd/screwdriver/blob/master/design/build-clusters.md">https://github.com/screwdriver-cd/screwdriver/blob/master/design/build-clusters.md</a></li>
<li>Feature issue: <a href="https://github.com/screwdriver-cd/screwdriver/issues/1319">https://github.com/screwdriver-cd/screwdriver/issues/1319</a></li>
</ul><h2>Compatibility List</h2>
<p>In order to use the new build clusters feature, you will need these minimum versions:</p>
<ul><li><a href="https://hub.docker.com/r/screwdrivercd/screwdriver">API</a>:v0.5.537</li>
<li><a href="https://hub.docker.com/r/screwdrivercd/queue-worker">Scheduler</a>:v2.4.2</li>
<li><a href="https://hub.docker.com/r/screwdrivercd/buildcluster-queue-worker">Buildcluster-queue-worker</a>:v1.1.3</li>
</ul><h2>Contributors</h2>
<p>Thanks to the following people for making this feature possible:</p>
<ul><li><a href="https://github.com/minz1027"><b>minz1027</b></a></li>
<li><a href="https://github.com/parthasl"><b>parthasl</b></a></li>
<li><a href="https://github.com/tkyi"><b>tkyi</b></a></li>
</ul><p>Screwdriver is an open-source build automation platform designed for Continuous Delivery. It is built (and used) by Yahoo. Don’t hesitate to reach out if you have questions or would like to contribute: <a href="http://docs.screwdriver.cd/about/support.">http://docs.screwdriver.cd/about/support.</a></p>