Skip to content

deciduously/deciduously-com-clj

Repository files navigation

deciduously.com

GithubVersion Build Status GitHub license

Contents

  1. Run
  2. Build - requirements
  3. Libraries
  4. Acknowledgements

Run

To download and run the latest release make sure you have java available and execute the following:

cd ~
wget https://github.com/deciduously/deciduously-com/releases/download/v0.1.4/deciduously-com-0.1.4-bundle.bin.tar.xz
tar xvf deciduously-com-0.1.4.bin.tar.xz
cd deciduously-com/ && java -jar target/server.jar

server.jar reads the following environment variables, given with their defaults:

PORT=3000
DIST=dist/
BUILD=dev

Build

Requirements

Bundle

git clone https://github.com/deciduously/deciduously-com
cd deciduously-com/ && make install

This takes about four minutes to run, longer the first time as boot gathers dependencies - go put on a nice hot cup of your favorite kind of tea. The resulting folder can then be used as described in "Run" at dist/. make release will produce a compressed archive at release/deciduously-com-0.1.3-bundle.tar.xz. Run make help for a list of all available make targets.

Hack

boot -h for the full list of available tasks. I define the following in build.boot:

  • boot build to export the static site and build a production uberjar at target/server.jar.
  • boot dev to start a development server with hot reloading
  • boot dist to export the static site
  • boot prod to export and serve the static site

Instead of boot build at first, I recommend using make install to invoke boot build and put together the runtime environment for you. Fewer stacktraces are almost guaranteed.

Use make test to run make release and then boot midje. Check Travis for recent outputs.

Libraries

Acknowledgements

Many thanks to Christian Johansen's tutorial. I use boot instead of lein but otherwise followed this quite closely for the static site component.

The makefile is adapted partially from boot's very own - I'd never written one and read theirs, hacked some stuff together and destroyed it for a day and a half. Feel free to point and laugh, sling vegetables, and/or open a pull request!