4 ms·
Serious question: why CircleCI over, say, Jenkins or custom_build_script.sh running on a VPS that costs much less, and that you control?
by daxorid 9y ago
Serious question: why CircleCI over, say, Jenkins or custom_build_script.sh running on a VPS that costs much less, and that you control?
- rhizome 9y agoNobody cultivates sysadmin skills anymore. Jenkins and buildfoo.sh aren't turnkey.
- SomeCallMeTim 9y agoJenkins is also a bloody pain in the ass. Just saying.
- azinman2 9y agoAlso has a worse UI and setting up iOS testing is a major pain.
- ihattendorf 9y agoHave you tried the declarative Pipeline[1] files? This plus BlueOcean[2] has made Jenkins much more user friendly, although obviously not as much as CircleCI/TravisCI/etc. [1] https://jenkins.io/doc/book/pipeline/ https://jenkins.io/doc/book/pipeline/ [2] https://jenkins.io/projects/blueocean/ https://jenkins.io/projects/blueocean/
- pswenson 9y agoJenkins is fundamentally broken. Upgrade any plugin and you risk everything breaking. And you won't necessarily know until you run every corner case of your build system.
- gldalmaso 9y agoAfter I changed to the LTS release channel, I have yet to suffer from that. I think it has been a couple of years without a hassle. I do wish Jenkins to be a little less high-maintenance, like say having a postgres backend and a docker image for the master. I hate having a different backup routine for each thing.
- acejam 9y agoAgreed. Declarative pipelines coupled with pipeline shared libraries and BlueOcean have completely changed the Jenkins game. Pair that with the EC2 plugin and you have an auto-scaling build cluster!
- Drdrdrq 9y agoAh yes. With Jenkins anything can be customized and made better, you just need this plugin... To be fair, it was very stable, though UI was awful. Nowadays we use GitLab (selfhosted) and love it.
- SomeCallMeTim 9y agoI haven't tried either, no. They do look nice, but they still only solve part of the problem. I have only been tasked with fixing setups on Jenkins, and a friend of mine has spoken at length about how difficult things are to set up. Some of that is based on the difficulty in getting a Jenkins configuration into source control. For CircleCI, I know, the CI configuration goes in a configuration file that gets checked in to the repo. Another big part is making sure the development environment is sane, and replicating it. When we were dealing with Jenkins, Docker didn't exist yet. I assume that build slaves running inside Docker are a thing now? Because that's another thing that CircleCI gives us. Honestly, though, this is just a thing that's easier to outsource if you can. Running a Jenkins server on your own is valuable if you have business reasons ("Code cannot go onto a third party server!") or if you're doing testing that involves connected devices (build and deploy to this Android device, then run tests...). But apart from that or a similar motivation, why bother maintaining a server when services are available for fee or cheap?
- vitalysh 9y agoJust create build.sh, deploy.sh and run those in steps -> no pain.
- azinman2 9y ago“All you gotta do is...”
- avip 9y agoCircleCI, with all its limitations, bugs, and misfeatures, is free, hosted, integrates well with github, extremely simple - and yet has enough built-in functionality to support 80% your use cases.
- bm1362 9y agoDrone is a self-hosted alternative, although you still have to do some configuration: https://github.com/drone/drone https://github.com/drone/drone We went from Drone -> CircleCI -> Jenkins in the last two years. Jenkins feel opaque and hard to reason about, periodically dies for no _good_ reason and the UI is atrocious. Drone itself was fine, as a minimal feature set. I think the docs are offline now, but it's fairly straightforward.
- acejam 9y ago> periodically dies for no _good_ reason You must be doing something wrong then. I run a Jenkins cluster with hundreds of automated pipeline build/deploy jobs and the master node never dies. (It's also the only node up and running 24/7) You should be offloading your work to build agents.
- bm1362 9y agoI’m certain there is a reason, we scaled up and hired an infra team that owns it so it’s out of my domain now. I was merely a poor steward in the early days out of necessity. My era of tinkering ended once we moved to CircleCI.
- maccard 9y agoFor me at least(I don’t use it, but I do outsource “core” parts of personal code) the reason is time. Time I spend setting up VPS’s, updating build software, managing permissions etc etc is home I could spend writing code. Hence why I use gitlab rather than manage a VPS and run a perforce/svn server
- jsjohnst 9y agoHave you setup a new Jenkins deployment recently? While I personally don't really like CircleCI (or most other CI providers), Jenkins is a clusterf@#$ to setup for anything non-trivial IMHO.