Cache bundle to Amazon S3
Go
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.gitignore
LICENSE
README.md
bundle_cache.go

README.md

bundle_cache

Speed up CI builds by caching rubygems bundle to Amazon S3.

Overview

When running a CI build, you have a clean system. That means that you have to install dependencies with bundler. It takes a lot of time and its very slow. Especially when you test suite runs for 20 seconds but bundle install runs for more than 2 minutes. Every single time.

bundle_chache is here to help. It uploads a bundle tarball to Amazon S3, so next time installation will be faster and consume less traffic. Double kill.

Example: 204.17 seconds bundle install reduced to 15.96 seconds

Build

Make sure you have Go 1.2 installed and GOPATH is set. Then run:

go get
go build bundle_cache.go

Usage

Usage:
  bundle_cache [OPTIONS]

Help Options:
  -h, --help=       Show this help message

Application Options:
      --prefix=     Custom archive filename (default: current dir)
      --path=       Path to directory with .bundle (default: current)
      --access-key= S3 Access key
      --secret-key= S3 Secret key
      --bucket=     S3 Bucket name

Or you can set S3 credentials for current session:

export S3_ACCESS_KEY=MYKEY
export S3_SECRET_KEY=MYSECRET
export S3_BUCKET=MYBUCKET

And then run (within project directory):

bundle_cache download
bundle_cache upload

License

The MIT License (MIT)

Copyright (c) 2013-2014 Dan Sosedoff dan.sosedoff@gmail.com