Installing Jenkins using VirtualBox and Vagrant

Many development teams use Jenkins to automate and schedule tasks, tests, and more. I often schedule end-to-end tests to ensure a service is working as expected.

There are many ways to install Jenkins, but this blog entry will focus on VirtualBox and Vagrant.

As a Mac user, if you're curious to know why this approach is better than Homebrew, it's not. Homebrew is excellent, and here's a tutorial. My goal for using VirtualBox with Vagrant is to simulate a production-ready system for the cloud better. It's common to run Jenkins on a dedicated machine than on my local computer.

The instructions below will show you how to install Jenkins on Linux Debian that you can later re-create elsewhere.


Step 1 - Install VirtualBox Locally

VirtualBox is a tool for creating virtual machines on your local computer. It can do much more, but for now, all we need is a machine to host Jenkins.

Option 1 - Download VirtualBox installer

You can download the installer from the VirtualBox website.

Option 2 - Install using Homebrew

I prefer using Homebrew for managing my apps.

brew install --cask --force VirtualBox --verbose --debug

Step 2 - Install Vagrant Locally

Vagrant is used to help you create (and re-create) a development environment. Think of it this way, VirtualBox allows you to make a virtual computer, but Vagrant will help you configure your machine to serve a specific purpose.

Option 1 - Download Vagrant Installer

You can download and install Vagrant using the installer.

Option 2 - Install using Homebrew

Using Homebrew, type this in.

brew install --cask vagrant

Manage your vagrant machines in one place with Vagrant Manager for OS X.

brew install --cask vagrant-manager

Step 3 - Create a Config file

Vagrant works by first creating a configuration file. The file is titled Vagrantfile and will explain that we will install Jenkins. Open up Terminal and type:

vagrant init debian/jessie64

You can find other Vagrant setups through Vagrant Cloud.

Step 4 - Modify Vagrantfile

Open up ~/Vagrantfile and uncomment the line of code below. This will allow us to use the Jenkins web interface for its configuration.

config.vm.network "private_network", ip: "192.168.33.10"

Step 5 - Start downloading

Now that you've configured your Vagrantfile, it's time to start downloading.

vagrant up

Step 6 - Log into your dev environment

Vagrant's ssh command will allow you to log into your newly installed development environment.

vagrant ssh

Step 7 - Install Jenkins

Now that you've ssh'd into your dev environment, it's time to download Jenkins. The easiest thing for us to do is follow these instructions.

Source

wget -q -O - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -
sudo sh -c 'echo deb http://pkg.jenkins-ci.org/debian binary/ > /etc/apt/sources.list.d/jenkins.list'

Advanced Package Tools apt-get is a package manager for Debian, and all we're asking it to do is the update.

sudo apt-get update && sudo apt-get upgrade

Ask apt-get to install Jenkins.

sudo apt-get install --force-y Jenkins

Step 8 - Visit the Admin Portal

Visit http://192.168.33.10:8080/login to see how things look.

Step 9 - Log In

Open up jenkins.log to find the initial administrative password.

vi /var/log/jenkins/jenkins.log

Step 10 - Install additional plugins

Congratulations! You've installed VirtualBox, Vagrant, and Jenkins. All that's left is a few more Jenkins plugins.

Ta Da!

Now it's time to get started.