This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2018-06-29
Channels
- # aleph (2)
- # architecture (1)
- # beginners (5)
- # boot (7)
- # cider (24)
- # clara (28)
- # cljs-dev (7)
- # cljsjs (3)
- # cljsrn (24)
- # clojure (145)
- # clojure-italy (2)
- # clojure-nl (7)
- # clojure-uk (54)
- # clojurescript (159)
- # cursive (49)
- # data-science (8)
- # datomic (23)
- # editors (10)
- # emacs (2)
- # fulcro (123)
- # graphql (12)
- # hoplon (2)
- # java (23)
- # jobs (1)
- # jobs-discuss (2)
- # leiningen (17)
- # mount (5)
- # nrepl (5)
- # off-topic (20)
- # om (2)
- # onyx (25)
- # parinfer (2)
- # pedestal (1)
- # re-frame (8)
- # reagent (7)
- # ring-swagger (1)
- # shadow-cljs (24)
- # spacemacs (7)
- # specter (6)
- # tools-deps (7)
- # vim (2)
Mornin'
månmån
Moin moin
mornnning
wow busy for a friday!
@alex.lynham maybe we are all working from 'home'... and thus have time to chat 😉
morning from home!
Morning (also from home)
How is Friday treating everyone today?
That’s fine then…not like you need it anyway! 😈
started yesterday with "surely this build doesn't need to be this complex" and now a day later who knows
so much bash
for not much clear reason
Gitlab CI < Travis
You can't interactively debug, it runs as root by default, their built in services (read dbs) don't work as well as the travis ones, it's impossible to get a complicated build working without causing a mess for other team members somewhere and imo their notification model is worse... That's just off the top of my head mind you
yeah, the interactive builds is the biggest one b/c remote debugging is huge in terms of iterating a change to the build and then just taking the commands and reifying them into the travisfile imo
throwing a third carcass into the cauldron, we're using codefresh for our CI - it's pretty straightforward docker composition, works nicely
@mccraigmccraig also tell me more 🙂 do you like docker? it seems gross 😄
it probably depends on what you are using them for - containers are great for deployment and probably less great for development. we only use them for deployment
I'd heard a lot of bad things about them for deployment, particularly around data loss.
that doesn't make much sense to me... you don't store data in a container - it's just a way of packaging code and dependencies and isolating them from other containers
containers certainly make it easy for dc/os or k8s to deploy application components in a cluster, and in the codefresh case make it easy to deploy a fresh cluster of e.g. database instance and client for every CI run
My experience with docker for dev particularly is that there's always some bug that makes it not work. Right now I have to mount cgroups manually before it will work, because reasons. chroot always works however, not totally against the concept, just the common implementation. I had hoped rkt would improve things.
huh, i've never had that problem (mounting cgroups manually) and i've used docker and other container impls extensively on two flavours of linux and macos... there certainly used to be bugs which got in the way (being unable to set sysctls was a problem for me for a while, but you can do it now)
that said, i've never really tried to use it for dev - the closest i come to that is the landing-pad environment on our dc/os cluster uses docker to run a service console
When using LXC without cgmanager, /sys/fs/cgroup/systemd is needed. And I don't need cgmanager otherwise. Particularly as cgmanager is deprecated...
One time I lost xxxs of GBs to docker because it lost track of volumes, and it had no idea about them. Of course the storage format didn't let me distinguish important vs unimportant, so rm -rf
all of them!
ahh... generally you should regard docker managed volumes as ephemeral - mount from the host/cluster/network filesystem for persistent stuff
docker volumes would indeed be crap for data-storage
Anyway, I've digressed into my vendetta against docker 😄. What does codefresh do well?
just basic CI stuff: hooks in to github/bitbucket, runs a build (in a container, you can mount persistent filesystems for your .m2 or whatever), runs a docker composition for running tests (in our case, a fresh cassandra container and our app container), packages successful builds to a docker repo, reporting through the webui, and alerting on failures etc
i like docker - it's great for packaging and isolation, and it's pleasingly unixy... definitely use mounts for persistent things you want to find again though 😬