This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2017-07-07
Channels
- # bangalore-clj (3)
- # beginners (103)
- # boot (13)
- # cider (16)
- # cljs-dev (192)
- # cljsrn (44)
- # clojure (147)
- # clojure-dev (1)
- # clojure-italy (79)
- # clojure-norway (1)
- # clojure-russia (9)
- # clojure-spec (4)
- # clojure-uk (34)
- # clojurescript (65)
- # core-async (1)
- # core-logic (2)
- # core-typed (5)
- # cursive (1)
- # datascript (9)
- # datomic (26)
- # emacs (8)
- # garden (1)
- # hoplon (11)
- # humor (1)
- # jobs (1)
- # jobs-discuss (8)
- # jobs-rus (3)
- # leiningen (1)
- # luminus (1)
- # lumo (1)
- # mount (6)
- # off-topic (16)
- # om (10)
- # om-next (1)
- # onyx (10)
- # parinfer (10)
- # pedestal (25)
- # re-frame (27)
- # reagent (3)
- # rum (47)
- # uncomplicate (1)
- # unrepl (34)
- # untangled (120)
- # vim (58)
@danielcompton build triggers are handy for permission headaches, you can find a decent (if i may say so myself :P) example dev setup at: https://github.com/edannenberg/kubler/tree/master/dock/kubler/images/clojure
Interesting, thanks. I need to support building these images across windows, linux, and Mac at the mo, so am not so keen on another tool, but maybe if we build them out of CI it won't matter so much
the tool doesn't matter for this, have a look at the dockerfile.template, the ONBUILD
instructions is pretty much all you need
oooohh
but funny that, i came here for some opinions related to docker and boot ^^ the clojure side is covered, but i also want to run gulp for all the css things, in another docker container. it works but is somewhat annoying when both containers watch for changes as gulp being done usually results in another boot build because stuff changed. does a boot task that sends a signal to another docker container and blocks until return sound too crazy?
@danielcompton looking at your dockerfile a bit closer this approach probably won't help you much with your use case as you can't mount stuff during a docker build. a simple solution could be to use a small shell script that runs a docker-compose job which produces a jar on the host and then starts a normal docker build with the jar in it's context . the compose file could also be used for local dev. sadly there really is no good way to do this with just a single dockerfile.
has anyone ran into issues with the jar
task producing an invalid jar? It does include a MANIFEST.MF but seems like the metadata isn’t put in the right place. The effect is the same as jar cfM project.jar META-INF Main.class
(doesn’t work) vs jar cfM project.jar -m META-INF/MANIFEST.MF Main.class
(works)
ok, this is because the jar
task is broken. When it’s doing an boot.jar/update-jar!
, the manifest entry isn’t added as the first one
java.lang.Thread.run Thread.java: 748
sun.nio.fs.LinuxWatchService$Poller.run LinuxWatchService.java: 329
sun.nio.fs.AbstractPoller.processRequests AbstractPoller.java: 260
sun.nio.fs.LinuxWatchService$Poller.implRegister LinuxWatchService.java: 264
java.io.IOException: User limit of inotify watches reached
clojure.lang.ExceptionInfo: User limit of inotify watches reached
file: "/tmp/boot.user6268077562842124107.clj"
line: 5
Exited with code 1
@juhoteperi Just hit this on CI, so it does happen occasionally still. Haven't got a number yet though. It does say "User limit", so no idea if I can bump it as a user thereforehttps://github.com/boot-clj/boot/pull/564 I notice this is a thing, so I have a fallback if all else fails