Pipelines Single Node Helm Installation

JFrog Installation & Setup Documentation

Content Type
Installation & Setup
ft:sourceType
Paligo

Before you proceed, see System Requirements for information on supported platforms, supported browsers, and other requirements.

Pipelines makes use of the Artifactory filestore for performing storage functions such as step caching.

Operating Systems and Platform Support

The following table lists the supported operating systems and the versions.

Product

Debian

RHEL

Ubuntu

Windows Server

Amazon Linux

Pipelines

8.x

20.04, 22.04

Build nodes only

Amazon Linux 2023

Operating Systems - End of Support

As part of JFrog commitment to maintain the security and reliability of the JFrog Platform, Artifactory will officially run with Node.js 20.x on all installation types from Artifactory 7.77.3.

Node.js 20.x provided with Linux Archive/Debian/RPM installations (non-containerized distributions) is not supported on the following operating systems.

Hence, these operating systems will no longer supported from Artifactory version 7.77.3.

Supported Platforms

The following table lists the supported platforms.

Product

x86-64

ARM64

Kubernetes

OpenShift

Pipelines

1.19+

Installation on Kubernetes environments is through Helm Charts. Supported Helm version is Helm 3+.

ARM64 Support

From version 7.41.4, Artifactory supports installation on ARM64 architecture through Helm and Docker installations. You must set up an external database as the Artifactory database since Artifactory does not support the bundled database with the ARM64 installation. Artifactory installation pulls the ARM64 image automatically when you run the Helm or Docker installation on the ARM64 platform.

ARM64 support is also available for Xray, Pipelines (in Helm installation), and Insight. ARM64 support is not available for Distribution.

Database and Third-Party Applications in Pipelines

For a single node installation of Pipelines, the PostgreSQL database is by default installed on the same node as Pipelines. It may be optionally configured as an external database.

Pipelines HA requires an external database for common use by all HA nodes.

Pipelines supports the following versions of PostgreSQL.

  • 10.x

  • 11.x

  • 12.x

  • 13.x

Pipelines uses Redis 6.2.6 and bundles a Redis package along with the installer.

RabbitMQ 3.8 is installed as part of the Pipeline installation for every node In case of HA architecture, it uses queue mirroring between the different RabbitMQ nodes. You should not use any other external RabbitMQ instance.

Pipelines Network Ports

Pipelines uses the 8082 port and 30001 (30200 from Pipelines 1.0 to 1.10.0) by default for external communication.

Pipelines uses the following internal ports by default for communication with JFrog Platform microservices.

Microservice

Port

Pipelines API

8082

Pipelines WWW (UI)

30001

SSH access to the instance

22

Database (PostgreSQL) access

5432

RabbitMQ

30200

RabbitMQ Admin

30201

Vault

30100

Redis Cluster

6379, 16379, 6380, 16380, 6381, 16381

In addition, review the Helm Chart requirements.

Helm Chart Requirements

For Helm Charts installations, JFrog services requires the following prerequisites.

  • Kubernetes 1.19+ (for installation instructions, see Kubernetes installation)

  • Kubernetes cluster with:

    • Dynamic storage provisioning enabled

    • Default StorageClass set to persistent storage

  • Kubectl installed and set up to use the cluster

  • Helm v3 installed

JFrog validates compatibility with the core Kubernetes distribution. Since Kubernetes distribution vendors may apply additional logic or hardening (for example Rancher) JFrog Platform deployment with such platform vendors might not be fully supported.

Before you deploy Pipelines using Helm Chart, you need to deploy the NGINX Ingress Controller.

Important

Pipelines requires Artifactory to be setup with a Kubernetes Ingress controller for all functionalities to work.

For more information, see Helm Charts for Advanced Users.

  1. Add https://charts.jfrog.io to your Helm client.

    helm repo add jfrog https://charts.jfrog.io
  2. Update the repository.

    helm repo update
  3. To connect Pipelines to your Artifactory installation, you will need to use a Join Key. To provide a Join Key, jfrogUrl, and jfrogUrlUI to your Pipelines installation, retrieve the connection details of your Artifactory installation from the UI as shown below. For more information, see Viewing the Join Key.Introduction to the General Security Settings

    pipelines:   
      ## Artifactory URL - Mandatory
      ## If Artifactory and Pipelines are in same namespace, jfrogUrl is Artifactory service name, otherwise its external URL of Artifactory
      jfrogUrl: ""
      ## Artifactory UI URL - Optional
      ## This must be the external URL of Artifactory, for example: https://artifactory.example.com
      ## If you provide a value here, it overrides the JFrog Platform Custom URL. A custom URL is necessary for Pipelines to function.
      ##If JFrog Platform Custom URL does not exist,You must provide a value with the installation or configure the custom URL through UI after installation.
      jfrogUrlUI: ""
      
      ## Join Key to connect to Artifactory
      ## IMPORTANT: You should NOT use the example joinKey for a production deployment!
      joinKey: EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
     
      ## Pipelines requires a unique master key
      ## You can generate one with the command: "openssl rand -hex 32"
      ## IMPORTANT: You should NOT use the example masterKey for a production deployment!
      masterKey: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
  4. You can choose to set the Redis password in the values.yaml file and pass it with the installation by setting redis.usePassword set as true.

    The following snippet shows the configuration.

    redis:
      password: "password"
      usePassword: true
  5. Get the Pipelineshelm chartto get the required configuration files.

    helm fetch jfrog/pipelines --untar
  6. Configure the installation by editing the local copies of the values-ingress.yaml and values-ingress-passwords.yaml with the required configuration values.

    1. Edit the URLs in the values-ingress.yamlfile (Artifactory URL, Ingress hosts, Ingress tls secrets).

    2. Set the passwords uiUserPassword, postgresqlPassword and auth.password in the local copies.

    3. Set the masterKey and joinKey in the values-ingress-passwords.yaml.

      Unlike other installations, Helm Chart configurations are made to the values.yaml and are then applied to the system.yaml.

      Follow these steps to apply the configuration changes.

      1. Make the changes to values.yaml.

      2. Run the command.

        helm upgrade -- install pipelines --namespace pipelines -f values.yaml

  7. Install Pipelines.

    kubectl create ns pipelines
    helm upgrade --install pipelines --namespace pipelines jfrog/pipelines -f pipelines/values-ingress.yaml -f pipelines/values-ingress-passwords.yaml
  8. Access Pipelines from your browser at: http://<jfrogUrl>/ui/, then go to the Pipelines tab in the Application module in the UI.

  9. Check the status of your deployed helm releases.

    helm status pipelines

Note

For advanced installation options, see Helm Charts Installers for Advanced Users.