devops, Puppet

Scaling Development with Vagrant/Puppet and Ubuntu Desktop

Use Case

The general use-case for development with a team or even a single individual is repeatable and scalable work. With home and work blurring I often find myself working at home and in the office and a need a way to quickly get a development environment up and running. Given that I work mostly in the Linux realm we have found it quite effective to use vagrant and puppet when running dev-ops. However, this has been limited to server environments where we want to provision new environments for running a cluster.

That being said, I work mostly in Windows still, and Hadoop doesn’t have quite the same level of support for unit-testing and quality support (HDFS for example is difficult). So I’ve opted to try configuring a developer environment with Ubuntu Desktop Precise (12.x).

Workflow

Git Branching Model

Requirements

  • Vagrant (latest stable)
  • VirtualBox (latest stable)
  • ISO for Ubuntu Desktop Precise (12.x)

Experience

Configure the launch bar for eclipse create the below file, chmod +x, and drag to sidebar launcher.

~/.local/share/applications/eclipse.desktop

[Desktop Entry]
Type=Application
Name=Eclipse
Comment=Eclipse Integrated Development Environment
Icon=/home/ubuntu/Downloads/eclipse/icon.xpm
Exec=/home/ubuntu/Downloads/eclipse/eclipse
Terminal=false
Categories=Development;IDE;Java;
StartupWMClass=Eclipse

Configure your system with a new font (source code pro).

~/sourcodeprofont.sh

#!/bin/bash
FONT_NAME="SourceCodePro"
URL="http://sourceforge.net/projects/sourcecodepro.adobe/files/latest/download"

mkdir /tmp/adodefont
cd /tmp/adodefont
wget ${URL} -O ${FONT_NAME}.zip
unzip -o -j ${FONT_NAME}.zip
mkdir -p ~/.fonts
cp *.otf ~/.fonts
fc-cache -f -v

Standard