This sample project automates provisioning of a BYON custom node on Shippable's CI/CD and DevOps platform by using the Shippable REST API.
Please note that API access is restricted to paid accounts. If you want temporary access to the API for a POC project, please contact us at [email protected].
Follow these steps to provision a custom node -
-
clone this project
-
update
config.json
to have correct values.a.
SHIPPABLE_API_TOKEN
is your apiToken.b.
FRIENDLY_NAME
is the name of your clusterNode.c.
IS_SHIPPABLE_INITIALIZED
should be set tofalse
, if you want to run the node initialization script yourself. If it is set totrue
shippable will run the script for you, but before provisioning the node you have to run the command on your node to create a shippable user and ssh authorization(This command is available in your subscriptions/settings/nodes, click onadd node
and copy the command).d.
NODE_LOCATION
is the IP of your node.e.
SUBSCRIPTION_ID
is theid
of subscription for which you want to add this node.f.
NODE_INIT_SCRIPT
is the name of script file that will be downloaded to use for initializing your new node. The name is combination of architecture, operating system, and Docker version. You can check all the supported versions here. This argument should be the script path from inside theinitScripts
directory. An example value isx86_64/Ubuntu_16.04/Docker_1.13.sh
.g.
CLUSTER_ID
is an integer that represents the unique ID of the node pool to which you are adding the node. You can get this ID from the URL when visiting your subscription node pool page. This parameter is optional. If left as null, the script will automatically fetch the default CLUSTER_ID for your subscription. -
Install node packages:
npm install
-
To provision custom node run
node createCustomNode.js
. After this completes, node initialization script will be saved ininitScript.sh
. You can run it on your machine to use it as a Shippable node.