/eycloud-app-jenkins

EY Cloud application to install and run Jenkins

Primary LanguageShell

Engine Yard Cloud and Jenkins

Getting Started

You can boot Jenkins into a new Engine Yard Cloud environment with two simple commands:

gem install ey_cli
ey_cli create_app --git git://github.com/engineyard/eycloud-app-jenkins.git --name jenkins --env_name jenkins --type rack

When the environment finishes booting, you can view it with:

ey launch -e jenkins -a jenkins

When the instance finished booting and deploying you will have Jenkins running!

Custom domain name

If you have a custom domain name that you want for Jenkins, consider using ey-dns to setup it up.

Example usage:

gem install engineyard-dns
ey-dns assign ci.myapp.com -e jenkins -a jenkins

Now http://ci.myapp.com will map to your Jenkins installation!

xvfb

xvfb-run was installed in /engineyard/bin and is the script that you will actually execute in Jenkins.

The hello world example:

$ /engineyard/bin/xvfb-run -s "-screen 0 1024x768x24" echo "Hello world"

You'll want to use the following code chunk in your Jenkins jobs:

#!/bin/bash
export RAILS_ENV=test
cp /data/jenkins/shared/config/database.yml config/
sed -i 's/jenkins/test/' config/database.yml
sed -i 's/production:/test:/' config/database.yml
bundle --deployment
/engineyard/bin/xvfb-run -s "-screen 0 1024x768x24" bundle exec rake db:create db:migrate spec --trace

Some sed was necessary to prepare the database.yml file for a test database. The first sed renames the database from whatever you named this CI application to test. The second sed just mods the existing production environment section to be test. Production is the EY default.

Other packages installed

  • qt-webkit 4.7.3 - as required for capybara-webkit
  • xorg-server 1.3 - headless X