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.jsonto have correct values.a.
SHIPPABLE_API_TOKENis your apiToken.b.
FRIENDLY_NAMEis the name of your clusterNode.c.
IS_SHIPPABLE_INITIALIZEDshould be set tofalse, if you want to run the node initialization script yourself. If it is set totrueshippable 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 nodeand copy the command).
d.
NODE_LOCATIONis the IP of your node.e.
SUBSCRIPTION_IDis theidof subscription for which you want to add this node.f.
NODE_INIT_SCRIPTis 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 theinitScriptsdirectory. An example value isx86_64/Ubuntu_16.04/Docker_1.13.sh.g.
CLUSTER_IDis 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.