heroku-buildpack-mono-awesomo

by AdamBurgess

GitHub Readme.md

heroku-buildpack-mono-awesomo

Building mono apps on Heroku.

To use:

  1. heroku config:set BUILDPACK_URL=https://github.com/AdamBurgess/heroku-buildpack-mono-awesomo.git
  2. Plop a .sln in the root of your app
  3. Echo to your Procfile: web: mono [ProjectName].exe
  4. Push the source
  5. Wait, like, 45 seconds
  6. Done!

Should I use this?

ASP.NET? no. Console app (w/ nuget deps)? yes.

This is heavily based upon https://github.com/friism/heroku-buildpack-mono and https://github.com/ddollar/heroku-buildpack-apt

Compared to friism/heroku-buildpack-mono,

Pros:

  • Latest version of mono
  • Supports libgdiplus
  • Doesn't seem to crash every other deploy

Cons:

  • Takes up like 90mb (compared to 70mb)
  • Takes a tad longer to build. It ain't so bad, really.
  • Doesn't support ASP.NET. No plans to, either. Maybe open an issue?
  • Nuget kept crashing, so I made my own. It may or may not work for you.

How does it work?

  1. Adds the mono ubuntu repo
  2. Installs mono-complete with a prefix of /app/mono
  3. Does some sed magic to fix paths for mono binaries
  4. Copies SSL roots
  5. Runs SimpleNuget (mine) to install nuget deps
  6. Builds the solution
  7. Copies the files into ~

todo

  • caching, I guess