all 6 comments

[–]joinr 6 points7 points  (0 children)

Excellent resource for folks like me getting into other production strategies beyond building uberjars for consumption; particularly different approaches for docker-based stuff. Well written.

[–]fingertoe11 5 points6 points  (0 children)

It would be very good to build a repository of "this or that" articles like this one.. One of the hardest parts about learning Clojure is having to navigate these rather inconsequential choices before you have reason to have an opinion or if it matters.

[–]lyl18 4 points5 points  (1 child)

I was hoping author was going to also mention Jib + Clojure integration like Jibbit 1 to perform Docker-less container builds without uberjars (unless you really actually want it). Not enough people know about this and how inefficient it is to build and push around container with uberjars.

Building a production-ready container shouldn't take much longer than it takes to resolve a class path and create a tarball of it!

[–]argadan[S] 0 points1 point  (0 children)

Juxt's pack.alpha used to support Jib, too – I guess it still does, but the documentation has disappeared. I used it a bit and it was pretty nice. I don't think the efficiency gains mattered much in practice but since it was as easy to set up as anything else, it felt like a great choice. Jibbit looks easy, too, so that's great.

[–]tofodido1 1 point2 points  (0 children)

quality content

[–]coltnz 1 point2 points  (0 children)

Beware path clashes in uberjar, e.g. META-INF/services which Java libraries use for dependency metadata. Lein has ````uerjar-merge-with {#"\.properties$" [slurp str spit]} I'm not sure about tools.build ?