General purpose utility to cache project dependencies or artifacts to Amazon S3.
Good for caching Rubygems or NPM bundles.
Bunch is a tool to upload/download contents of any directory from Amazon S3. Initially created to cache Rubygems/NPM bundles as compressed tarballs (tar.gz) to speed up CI build times.
Run bunch upload/download command with the following options:
bunch [upload|download] \
--prefix=my-project \
--path=path/to/dir \
--manifest=path/to/manifest
--s3-key=key \
--s3-secret=secret \
--s3-bucket=bucket
Options:
prefix
- Filename prefix. Archives are uploaded in the format:http://s3.amazonaws.com/bucket/prefix-sha1-arch.tar.gz
path
- Path to directory that should be cachedmanifest
- Path to file that should be used to calculate checksum (Gemfile.lock, package.json, etc).
If you don't want to specify Amazon S3 credentials in terminal, you can always export variables into your environment and they will be loaded automatically.
Example:
export S3_KEY=key
export S3_SECRET=secret
export S3_BUCKET=bucket
Project requires Go 1.2.
To build a binary run, install dependencies and execute build command:
go get
go build
To build for multiple operating systems and architectures, use gox.
Install testify
library:
go get github.com/stretchr/testify/assert
And execute test suite:
go test
The MIT License (MIT)
Copyright (c) 2014 Dan Sosedoff, dan.sosedoff@gmail.com