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, Google Cloud, or in your data center 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.
Minimum Requirements
The minimum requirements for a node that can be assigned to JFrog Pipelines are:
You may add as many build nodes to the node pool as are allowed by any node count limit set for that node pool.
1.8GB RAM
60GB SSD
JFrog CLI (when using custom runtime images)
Windows nodes must have containers enabled
For MacOS nodes, users must manually install NodeJS 16. Other static nodes use NodeJS 16.16.0.
For MacOS nodes, users must manually install JQ.
Supported architecture, OS and Docker versions:
Architecture
OS
Docker Version
x86_64
CentOS 7
20.10
x86_64
Ubuntu 20.04
20.10
ARM64
Ubuntu 20.04
20.10
Note
JFrog-published images are x86_64 and cannot run on ARM64 Ubuntu nodes. However, custom ARM64 runtime images can be specified. Host runtime is also supported.In a future release, JFrog-published images will be multi-platform and will run as ARM64.
x86_64
Ubuntu 18.04
20.10
x86_64
RHEL 7
20.10
x86_64
RHEL 8
20.10
x86_64
Windows Server 2019
20.10
ARM64
MacOS 12
x86_64
MacOS 13.5
Note
One build machine must be assigned per parallel build.
Note
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.
The following tasks are used to manage static Pipeline Nodes: