Skip to content

Instantly share code, notes, and snippets.

@cynipe
Last active August 29, 2015 14:16
Show Gist options
  • Save cynipe/1caed8c311bf21ad4d85 to your computer and use it in GitHub Desktop.
Save cynipe/1caed8c311bf21ad4d85 to your computer and use it in GitHub Desktop.
Github流Makeおじさん(Rubyバージョン)

Github流Makeおじさん(Rubyバージョン)

プロジェクトディレクトリに script ディレクトリを掘ってそこに bootstrap, specs を置いて使う感じ。 以降は script/specs と叩けば確実に全員同じバージョンのライブラリを使ってテストすることが保証される。

なぜGithub流?

boxen/our-boxen, boxen/puppet-xxxx辺りのリポジトリで見かけた手法でおそらくGithub社内での一般的な流儀になっているっぽいから。 Makefileじゃないのはshならどの環境でも入ってるしょ絶対。っていうのがあるからなのかなーと思ってる。

#!/bin/sh
# Make sure all our local dependencies are available.
set -e
BUNDLE=.bundle
SCRIPT=$(basename "$0")
# FIXME: GEM_HOMEが書き込み出来ない時はsudoするようにした方がいい
(gem spec bundler -v '~> 1.7.0' > /dev/null 2>&1) || {
gem install bundler -v '~> 1.7.0' --no-rdoc --no-ri
}
# We don't want old config hanging around.
rm -rf .bundle/config
# Bundle install unless we're already up to date.
bundle install --binstubs .bundle/bin --path .bundle "$@"
#!/bin/sh
set -e
script/bootstrap || exit 1
bundle exec rspec # or `bundle exec rake spec`
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment