Skip to content

Instantly share code, notes, and snippets.

Keybase proof

I hereby claim:

  • I am nzoschke on github.
  • I am nzoschke (https://keybase.io/nzoschke) on keybase.
  • I have a public key whose fingerprint is 896A 3E7D 5D7A 0E42 DE9D 4FBD F904 F34A B283 9891

To claim this, I am signing this object:

#!/bin/bash
# Download and install Boot2Docker
curl -LO https://github.com/boot2docker/osx-installer/releases/download/v1.3.2/Boot2Docker-1.3.2.pkg
sudo installer -pkg Boot2Docker-1.3.2.pkg -target /Volumes/Macintosh\ HD && rm Boot2Docker-1.3.2.pkg
# Initialize Boot2Docker
boot2docker init
boot2docker start
$(boot2docker shellinit)

as a buildpack maintainer

$ git clone https://github.com/heroku/heroku-buildpack-ruby.git  # or any other buildpack
$ cd heroku-buildpack-ruby
heroku-buildpack-ruby $ cat Dockerfile
FROM fabiokung/heroku-buildpack-base

RUN DEBIAN_FRONTEND=noninteractive apt-get install -y -q ruby2.0
# more stuff specific to this buildpack...
ROOT ?= $(shell pwd)
all: vendor/nginx
clean:
rm -rf $(ROOT)/src
rm -rf $(ROOT)/vendor
vendor/luajit: src
cd src/LuaJIT-2.0.2 \
@nzoschke
nzoschke / heroku-secrets.md
Last active December 14, 2015 08:49
Heroku Secrets - Waza 2012

Twelve-Factor

  • Adam Wiggins' The Twelve-Factor App
  • Modern software design for software-as-a-service
  • Heroku enables and enforces these patterns

Continuous Deployment

  • One codebase - many deploys
  • 2 million releases in Feb alone
#!/bin/sh
NAME=$1
DATADIR=${2:-.pg}
[ $NAME == "" ] && { echo usage: pg_dev NAME [DATADIR]; exit 1; }
echo Initializing database in $DATADIR
initdb $DATADIR

Ruby Language Pack

An exception occurred
no such file to load -- /app/sw/lib/ext/melbourne/rbx/melbourne20 (LoadError)
Backtrace:
Rubinius::CodeLoader#load_error at kernel/common/codeloader.rb:347
Rubinius::CodeLoader#resolve_require_path at kernel/common/codeloader.rb:334
{ } in Rubinius::CodeLoader#require at kernel/common/codeloader.rb:35
Rubinius.synchronize at kernel/bootstrap/rubinius.rb:133
Rubinius::CodeLoader#require at kernel/common/codeloader.rb:34
Rubinius::CodeLoader.require at kernel/common/codeloader.rb:145

Install the pre-release of bundler. When 1.0 is final the --pre flag will not be necessary.

$ gem install bundler --version=1.0.0.rc.2
Successfully installed bundler-1.0.0.rc.2
1 gem installed

Modify your Gemfile, and locally re-bundle you app with the new bundler options. If bundler complains about the Gemfile format, fix it according to the directions on http://gembundler.com/v1.0/index.html. If you have an old bundler gem defined in your Gemfile, make sure to un-pin it from 0.9.x.

$ echo >> Gemfile

$ bundle install --path vendor/bundle