Jenkins Setup and Pipeline Configuration

Requirements

You will need a server running Ubuntu 24.04 or later with minimum specifications:

  • 4 CPU cores (16 CPU cores recommended)

  • 16GB RAM (64 GB RAM recommended)

  • 128GB storage

  • 30 Mbps internet speed

  • User with passwordless sudo access (explained in detail below)

Note: The application is resource-intensive. More CPU cores (16+ cores) and especially more RAM (64GB+) are strongly recommended for optimal performance.

Setup Passwordless Sudo Access

Jenkins requires passwordless sudo access to execute deployment and system-level commands automatically, as it runs under a non-interactive service account.

1. Edit the sudoers file safely:

sudo visudo

2. Add this line (replace "username" with your deployment user):

username  ALL=(ALL:ALL) NOPASSWD: ALL

3. Save and exit

Jenkins Installation

1. Update Packages

2. Install Java

3. Add Jenkins Repository Key

4. Add Jenkins Repository

5. Update Packages with Jenkins Repository

6. Install Jenkins

7. Start Jenkins Service

Unistream Configuration

1. Clone Repository

Use "Unistream" as the username and the PAT token provided via email as the password

2. Navigate to Directory

3. Run Configuration Script

The script will ask for VM host, sudo user, and password. This information is used for SSH connection. For VM host, specify the IP address of the same machine in the case of single VM deployment.

4. Get Admin Password

Jenkins Configuration

  1. Open {Jenkins host}:8080 in your browser

  2. Enter the admin password and complete the registration

  3. Go to Plugins → Available plugins

  4. Find and install the "Publish Over SSH" plugin

  5. Agree to restart after installation

  6. After restart, go to Manage Jenkins → Credentials

  7. Update the "Unistream/******* (Azure DevOps PAT for Jenkins)" credential with the PAT provided via email

  8. Find and run the "full-unistream-deployment" pipeline on the main page

Help

For questions, please contact the datamind team.

Last updated