Cloud customer?
Start for Free >
Upgrade in MyJFrog >
What's New in Cloud >

Search





Overview

Static Nodes are build nodes (virtual machines) that you provide to a Pipelines node pool and are persistently available through a fixed IP address.


Static nodes enable you to execute pipeline steps on your own infrastructure, by attaching your machines to a Pipelines node pool. Your static nodes can be anywhere, such as in your Amazon EC2 VPN, Google Cloud, or in your datacenter behind a firewall.  This powerful hybrid approach gives you full control over the infrastructure and security of your build machines.

Advantages are:

  • Security: Your build machines can be inside your VPC and/or behind your firewall, enabling you to configure access, IAM, etc. Your code never leaves your firewall and no external entity can access your machines. You have complete control over your build machines, including SSH access, ability to choose your cloud provider and the size of build machines.

  • Faster build times: You can leave your build machines running all the time, eliminating the time necessary to spin up an on-demand node.


Page Contents



Minimum requirements

The minimum requirements for a node that can be assigned to JFrog Pipelines are:

  • 1.8GB RAM
  • 60GB SSD
  • JFrog CLI (when using choosing your runtime images)
  • Windows nodes must have containers enabled
  • Supported architecture, OS and Docker versions
ArchitectureOSDocker Version
x86_64CentOS 719.03
x86_64CentOS 819.03
x86_64Ubuntu 20.0419.03
x86_64Ubuntu 18.0419.03
x86_64Ubuntu 16.0419.03
x86_64RHEL 719.03
x86_64RHEL 819.03
x86_64Windows Server 201919.03


Please note that you will need to assign one build machine per parallel build.


Nodes must be on a different server than the one JFrog Pipelines is installed on. A node that is running on the same server as JFrog Pipelines will fail to initialize.


Add a Static Node

You may add as many build nodes to the node pool as are allowed by any node count limit set for that node pool.

To add a node to a static node pool:

  1. View the node pool you want to add a node to. 
  2. The View Node Pool page lists any nodes currently allocated to the pool. Click Add Node.
    Fields that are not required may be left blank.



Node Name
An alphanumeric friendly name for the node.
IP Address
The IP address of the node.
Add Swap Space
Enable the use of swap space to increase the amount of virtual memory available to the node. Not available to Windows node pools.
Select Node Initialization Type
Select Auto or Manual. See below for details.
SSH Port

The SSH port of your build host. This is usually port 22, but is configurable.

For Auto initialization type only.

SSH Access Script

The command to run on your build host that will allow Pipelines to run initialization scripts on the node.

For Auto initialization type only.

SSH Access Script Complete

Check the checkbox to confirm that you have run the SSH Access Script command on your node. (Required)

For Auto initialization type only.

Node Initialization

You can choose to initialize the build host through Pipelines (Auto) or run the initialization scripts yourself (Manual). Initialization through Pipelines requires you to grant SSH access, so if you do not want to grant that for some reason, select Manual for the node initialization type

All Windows nodes must be manually initialized.

Auto Initialization

  • To initialize the node through Pipelines,

    • Enter the SSH port for your build host. This is usually port 22, but is configurable.
    • Copy the command shown and run it on your build host. This will allow us to run initialization scripts on your node.
    • Check the checkbox to confirm that you have run the command on your node and click on Save Node.
    • You will be redirected to a page showing you the console log as your node is initialized.
    • When your node is ready, the status indicator for the node will turn green. Your node is now ready to pick up steps for your pipelines.


GCP CentOS VM

In a CentOS VM on Google Cloud Platform, you must enable SSH root login (which is disabled by default) to perform an auto-initialize. This requires you to:

  • Open the file /etc/ssh/sshd_config and update the PermitRootLogin property to yes
  • To enable the above changes, restart the sshd systemd service by executing systemctl restart sshd on the VM

Manual Initialization

  • To run the initialization scripts yourself,

    • Click on Save and Generate initialization scripts to generate the script.
    • Click on Download initialization scripts to download. Copy it to your build machine, make sure the file is executable, and run it
    • Your node status will automatically show green at this point. We have no way of verifying that the node was in fact successfully initialized so you will need to make sure this was the case by triggering a job.

The downloaded initialization scripts are unique for the node, so you must perform the download for each node you manually initialize. Do not use the same downloaded scripts for all nodes.

GCP CentOS VM

When initializing a Windows node, the script should be run in PowerShell as an Administrator.


View a Node

To view a static node:

  1. View the node pool where the node is assigned. Then click on the name of the node you want to view.
  2. The View Node page will be displayed, showing you information about the node, its utilization, and the console output from its initialization.

From this view, you can perform some actions on the node.

Re-initialize a Node

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

  • An updated version is available for the build agent. This is indicated by a red exclamation icon in the Agent Version 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:

  • View the node as described above.

  • Click Re-Initialize. This action will initialize/install everything from scratch.

If your nodes were not initialized automatically, you will need to re-download the initialization script and run it on your node manually.

Modify a Node

To modify a node's settings:

  • View the node as described above.

  • Click Edit. The fields that cannot be changed are in gray.

  • When finished, click Save Node.

Remove a Node

To remove a node from the node pool:

  • View the node as described above.

  • Click on the Delete button. This action will delete the node from the pool and sever connection to the node. 

This action only removes the node from control by Pipelines. You will still need to delete the virtual machine in the environment where it is running.


  • No labels
Copyright © 2021 JFrog Ltd.