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 visudo2. Add this line (replace "username" with your deployment user):
username ALL=(ALL:ALL) NOPASSWD: ALL3. Save and exit
Jenkins Installation
1. Update Packages
sudo apt update2. Install Java
sudo apt install openjdk-17-jre -y3. Add Jenkins Repository Key
curl -fsSL https://pkg.jenkins.io/debian-stable/jenkins.io-2023.key | \
sudo tee /usr/share/keyrings/jenkins-keyring.asc > /dev/null4. Add Jenkins Repository
echo deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] \
https://pkg.jenkins.io/debian-stable binary/ | \
sudo tee /etc/apt/sources.list.d/jenkins.list > /dev/null5. Update Packages with Jenkins Repository
sudo apt update6. Install Jenkins
sudo apt install jenkins -y7. Start Jenkins Service
sudo systemctl enable jenkins
sudo systemctl start jenkinsUnistream Configuration
1. Clone Repository
git clone -b main --single-branch --depth 1 \
https://dev.azure.com/datamindge/Unistream/_git/prodUse "Unistream" as the username and the PAT token provided via email as the password
2. Navigate to Directory
cd prod3. Run Configuration Script
sudo bash setup-jenkins-config.shThe 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
sudo cat /var/lib/jenkins/secrets/initialAdminPasswordJenkins Configuration
Open {Jenkins host}:8080 in your browser
Enter the admin password and complete the registration
Go to Plugins → Available plugins
Find and install the "Publish Over SSH" plugin
Agree to restart after installation
After restart, go to Manage Jenkins → Credentials
Update the "Unistream/******* (Azure DevOps PAT for Jenkins)" credential with the PAT provided via email
Find and run the "full-unistream-deployment" pipeline on the main page
Help
For questions, please contact the datamind team.
Last updated

