Skip to content

Instantly share code, notes, and snippets.

@mackermedia
Last active December 17, 2015 21:28
Show Gist options
  • Save mackermedia/5674504 to your computer and use it in GitHub Desktop.
Save mackermedia/5674504 to your computer and use it in GitHub Desktop.
jenkins_slave_server_setup.sh
#!/bin/bash
# As root ( via `sudo su -` ):
# Set logrotate to keep only one unit (day or week) of each log
for f in /etc/logrotate.d/* /etc/logrotate.conf ; do
sed -i 's/rotate [0-9]*$/rotate 1/' $f
done
apt-get update
apt-get install -y git build-essential bison openssl libreadline5 libreadline-dev curl git-core zlib1g zlib1g-dev libssl-dev libreadline-dev libxml2-dev autoconf libxslt-dev xvfb libgl1-mesa-dri xfonts-100dpi xfonts-75dpi xfonts-scalable xfonts-cyrillic libyaml-dev libqt4-dev libxml2-dev libpng-dev libtiff-dev mysql-client mysql-server libmysql-ruby libmysqlclient-dev libpq-dev
# Set up Xvfb (virtual framebuffer)
curl https://raw.github.com/gist/3085368/xvfb > /etc/init.d/xvfb
chmod +x /etc/init.d/xvfb
update-rc.d xvfb defaults
service xvfb start
apt-get install -y openjdk-6-jdk
# imagemagick with tiff support
wget http://www.imagemagick.org/download/legacy/ImageMagick-6.8.0-10.tar.gz
tar -xvf ImageMagick-6.8.0-10.tar.gz
cd ImageMagick-6.8.0-10/
./configure --with-png=yes --with-tiff=yes
make clean; make; make install
ldconfig /usr/local/lib
cd ..
rm -f ImageMagick-6.8.0-10.tar.gz
rm -rf ImageMagick-6.8.0-10/
# redis server
apt-get install -y redis-server
cp /etc/redis/redis.conf /etc/redis/redis.conf.default
# phantomjs
wget https://phantomjs.googlecode.com/files/phantomjs-1.9.0-linux-x86_64.tar.bz2
tar -xvf phantomjs-1.9.0-linux-x86_64.tar.bz2
cp phantomjs-1.9.0-linux-x86_64/bin/phantomjs /usr/bin/
rm -f phantomjs-1.9.0-linux-x86_64.tar.bz2
rm -rf phantomjs-1.9.0-linux-x86_64/
# Jenkins User setup
useradd -k /etc/skel -m -s /bin/bash jenkins
mkdir /home/jenkins/.ssh
cp /home/ubuntu/.ssh/authorized_keys /home/jenkins/.ssh/authorized_keys
chown -R jenkins:jenkins /home/jenkins/.ssh
chmod 700 /home/jenkins/.ssh
chmod 600 /home/jenkins/.ssh/authorized_keys
mkdir -p /var/jenkins/workspace
chown -R jenkins:jenkins /var/jenkins
# set up rbenv.sh file for later use with rbenv in projects
curl https://gist.github.com/mackermedia/5687237/raw/d5b57163c76d01a1f05a9f18cf91ca852e16710a/rbenv.sh >> /etc/profile.d/rbenv.sh
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment