Jenkins is one of the most popular open-source automation servers that provides hundreds of plugins to support building, deploying, and automating any project. This article guides you through the process of setting up a Jenkins Continuous Integration (CI) server on a Virtual Private Server (VPS). We’ll start with the installation and then move on to configuring Jenkins for optimal use. Whether you are a software developer, a project manager, or just someone looking to streamline your development process, setting up Jenkins on a VPS can enhance your ability to manage and automate software deployments efficiently.
Step-by-Step Guide to Installing Jenkins CI
-
Prepare Your VPS: Before installing Jenkins, ensure that your VPS is running either Ubuntu, Debian, CentOS, or any other popular Linux distribution. Update your system using the package manager, for example, on Ubuntu, you would use
sudo apt update && sudo apt upgrade
. It’s also a good idea to install Java, as Jenkins is a Java-based application. Usesudo apt install openjdk-11-jdk
for Ubuntu or the appropriate package manager command for your distribution. -
Install Jenkins: You can install Jenkins by adding the repository key to your system, adding the repository to your system’s software sources, and then installing Jenkins. For Debian-based distributions like Ubuntu, use these commands:
wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add - sudo sh -c 'echo deb https://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list' sudo apt update sudo apt install jenkins
For Red Hat-based distributions, use the equivalent
yum
ordnf
commands. -
Start and Verify Jenkins: Once Jenkins is installed, start the Jenkins service using
sudo systemctl start jenkins
. Enable it to start at boot withsudo systemctl enable jenkins
. You can verify that Jenkins is running by accessing it athttp://your-vps-ip:8080
. Initially, you’ll need to unlock Jenkins using the administrator password found withsudo cat /var/lib/jenkins/secrets/initialAdminPassword
.
Configuring Jenkins on Your VPS for Optimal Use
-
Secure Your Jenkins Dashboard: After initial access, it’s crucial to configure security settings. Navigate to "Manage Jenkins" > "Configure Global Security", and enable security. Configure Jenkins to use Jenkins’ own user database and set the authorization to "Logged-in users can do anything". This step helps ensure that only authorized users can make changes.
-
Install Necessary Plugins: Jenkins has a vast ecosystem of plugins. Depending on your project requirements, you might need various plugins such as Git, Maven, Docker, or Slack for notifications. You can install these plugins through "Manage Jenkins" > "Manage Plugins". Ensure to also regularly update existing plugins to secure and enhance your CI environment.
-
Optimize Performance and Create Jobs: To optimize Jenkins for better performance, consider configuring your build jobs to run on slave nodes or distributed systems, which can help in managing load and speeding up builds. You can also set up regular backups of your Jenkins configuration and jobs. Creating jobs in Jenkins is straightforward; go to the Jenkins dashboard and select "New Item", name your project, and choose the type of project from freestyle, pipeline, and others.
Setting up Jenkins on a VPS can dramatically improve your development operations by automating builds, tests, and deployments. By following the steps outlined for installation and configuration, you can get your Jenkins CI server up and running efficiently on your VPS. Remember to keep security in mind and regularly update both Jenkins and its plugins to safeguard your automation environment. With Jenkins configured, you are now well-equipped to streamline and manage your development workflows effectively.