deciduously / deciduously-com-clj

deciduously.com source code
http://deciduously.com
MIT License
0 stars 0 forks source link
blog boot boot-clj clojure heroku hiccup jar makefile midje optimus pygments ring stasis static-site travis-ci

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

    • Oracle JDK or OpenJDK
    • bash
    • make
    • curl
    • xz

      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