Managing Windows BYON nodes

To learn the basics of BYON nodes, please read this overview.

This tutorial page shows you how to attach/delete your Windows BYON nodes to Shippable, as well as perform periodic maintenance on them.

Minimum requirements

The minimum requirements for a Windows BYON type node that can be attached to Shippable are:

  • 4GB RAM
  • 60GB SSD
  • Supported architecture, OS and Docker versions for Windows
Architecture OS Docker Version
x86_64 Windows Server 2016 (Version 1607) 17.06

Viewing your nodes

You can view all the currently active nodes in your Subscription by following the steps below:

  • From your Dashboard, click on Subscriptions in the left sidebar menu and click on your subscription.

List nodes

  • On the Subscription page, click on the Gears icon and click on Node Pools.

Node pools option

  • Right below the LICENSES panel, you can see all your On Demand and BYON nodes in their respective Node Pools.

Subscription Nodes view for Shippable DevOps Assembly Lines

Adding new nodes

You can add a new node by clicking the Add node button on the top right corner of your Node Pool panel.

Subscription Nodes view for Shippable DevOps Assembly Lines

  • Since every node should be part of a Node Pool, you need to select which node pool will the new node be a part of. Read Node Pool documentation to learn how to create node pools

  • The Docker version dropdown allows you to pick the version of Docker that will be installed on your node. Windows nodes are currently only supported on Docker 17.06 EE.

  • Enter a name for the node and its IP address.

Add new Windows node

  • Windows nodes require manual initialization. To generate and run the initialization scripts,
    • Click on Generate initialization scripts to generate the script.
    • Click on Download scripts to download. Copy it to your build machine.
    • Enable Windows Containers by running Install-WindowsFeature containers in PowerShell.
    • Restart the node, if the previous step prompted you to do so.
    • Run the initialization script that you copied to this machine earlier.
    • After the script runs to completion, check the I have run this script on my node successfully and then click on the Save button.

Once you add your first build node, all subsequent builds for that subscription will run on your machines. Your nodes can be seen by going to your Subscription Settings and clicking on Nodes in the left sidebar menu.

Re-initializing a node

You might want to re-initialize a BYON node for the following reasons:

  • An updated version is available for the build agent. This is indicated by a red exclamation icon in the Build Agent Version column of the Node.
  • You made some changes to the node manually and it is no longer picking up jobs
  • The node isn't picking up jobs and seems 'frozen' for some reason

To re-initialize a node:

  • On the Subscription page, click on the Gears icon and click on Node Pools.

Node pools option

  • Right below the LICENSES panel, you can see all your On Demand and BYON nodes in their respective Node Pools.

Subscription Nodes view for Shippable DevOps Assembly Lines

  • Click on the node you want to reinitialize.
  • You can reset a node by clicking on the Re-initialize button, followed by downloading and running the new initialization script on your node manually. This action will initialize/install all build components from scratch.

Deleting a build node

  • From your Dashboard, click on Subscriptions in the left sidebar menu and click on your subscription.

List nodes

  • Click on the gear icon on the Subscription page and then on Node Pools. All your nodes can be seen right below the LICENSES panel in their respective Node pool.
  • Click on the node you want to delete.
  • Scroll to the bottom of the screen and click on Delete to delete your build node. This action is final and cannot be undone.

Initialization scripts

All the scripts for initializing the nodes are are publicly available here. We update this repository consistently to fix any bugs and to add support for new operating systems.