diff --git a/Gemfile b/Gemfile index 2bc47e6ce..3217a1a97 100644 --- a/Gemfile +++ b/Gemfile @@ -1,12 +1,14 @@ +#ruby=1.9.3 source 'https://rubygems.org' +source 'https://jamjam:blueberryjam@www.jamkazam.com/gems/' # Look for $WORKSPACE, otherwise use "workspace" as dev path. workspace = ENV["WORKSPACE"] || "~/workspace" +devenv = ENV["BUILD_NUMBER"].nil? # Jenkins sets a build number environment variable gem 'pg', '0.14.0', :platform => [:mri, :mswin, :mingw] gem 'jdbc_postgres', :platform => [:jruby] -gem 'jampb', :path => "#{workspace}/jam-pb/target/ruby/jampb" gem 'activerecord', '3.2.7' gem 'uuidtools', '2.1.2' gem 'bcrypt-ruby', '3.0.1' @@ -18,8 +20,15 @@ gem 'will_paginate' gem 'actionmailer' gem 'sendgrid' -group :test do +if devenv gem 'jam_db', :path=> "#{workspace}/jam-db/target/ruby_package" + gem 'jampb', :path => "#{workspace}/jam-pb/target/ruby/jampb" +else + gem 'jam_db' + gem 'jampb' +end + +group :test do gem "factory_girl" gem "rspec", "2.10.0" gem 'spork', '0.9.0' diff --git a/build b/build new file mode 100755 index 000000000..86f643cd2 --- /dev/null +++ b/build @@ -0,0 +1,14 @@ +#!/bin/bash + +echo "running rspec tests" +bundle exec rspec + +if [ "$?" = "0" ]; then + echo "tests completed" +else + echo "tests failed." + exit 1 +fi + +echo "build complete" + diff --git a/jenkins b/jenkins new file mode 100755 index 000000000..6fd057f23 --- /dev/null +++ b/jenkins @@ -0,0 +1,40 @@ +#!/bin/bash + +GEM_SERVER=http://localhost:9000/gems + +echo "starting build..." +./build + +if [ "$?" = "0" ]; then + echo "build succeeded" + + # generate gem version based on jenkins build number + if [ -z $BUILD_NUMBER ]; then + BUILD_NUMBER="1" + fi + VERSION="0.0.${BUILD_NUMBER}" + echo "packaging gem jam_ruby-$VERSION" + cat > lib/jam_ruby/version.rb << EOF +module JamRuby + VERSION = "$VERSION" +end +EOF + + gem build jam_ruby.gemspec + + GEMNAME="jam_ruby-${VERSION}.gem" + + echo "publishing gem" + curl -f -T $GEMNAME $GEM_SERVER/$GEMNAME \; + + if [ "$?" != "0" ]; then + echo "publish failed" + exit 1 + fi + echo "done publishing gems" +else + echo "build failed" + exit 1 +fi + +