6 ms·
I've been using Travis on a bunch of my opensource projects and was wondering why builds were getting queued for ~a day before they'd run, I guess I got my answ
by azdle 6y ago
I've been using Travis on a bunch of my opensource projects and was wondering why builds were getting queued for ~a day before they'd run, I guess I got my answer. :/
I don't really want to lock myself into GH actions (ideally, I wouldn't be on GH at all), does anyone have any suggestions for alternatives? I don't mind paying some money, but the almost $1K/year for Travis' lowest tier is about an order of magnitude more than I can justify. I've also got plenty of compute laying around if anyone has suggestions for something self-hosted.
- rochak 6y agoHave you looked into CircleCI?
- azdle 6y agoI've used it in the past, but when they finally killed off the 1.0 builders (?) my company went to an "internally" hosted Jenkins[1] server and I haven't played with any of the 2.0 stuff. Have you? How do you find working with it? [1] I did also ask about selfhosted stuff, but I'm not willing to host Jenkins for myself. I've heard nothing but complaints about managing a Jenkins install. It's been fine as a user (if a bit confusing), but I really don't want to admin it.
- vosper 6y agoNot the person you're asking, but we use CircleCI, and it's fine. The YAML config language is okay, it gets the job done and hasn't been horrible to maintain or modify. Though we only have a few steps in each. My current gripe is that there doesn't seem to be any way to declare that one pipeline depends on another, though I may just be missing something in the docs. What I'm trying to do is have my front-end feature branch builds run against the build of matching back-end branch, but there doesn't seem a way to declare "this build should depends on the output artifact of that build". I don't really want to have to wire it up myself using their API.
- driverdan 6y agoIf they're in the same repo you can do this using workflows. If they're separate repos I don't think you can do this without using their API.
- vosper 6y agoYeah, it's separate repos. Interesting to know about the monorepo option, though - thanks.
- robertlagrant 6y agoAlso happy with CircleCI here. Main problem for us is their limited support for efficient builds in monorepos.
- driverdan 6y agoWe use circle for a lot of stuff (the latest version). It's pretty easy to learn. You can pick up the basics in <30 min.
- rochak 6y agoI have been GitHub Actions ever since they released, but used to use TravisCI before that. There were one or two projects where I used CircleCI and it seemed more mature that TravisCI.
- 013a 6y agoGithub Actions really is a freakin awesome product. Yeah, there's lock-in, but their free plan (and cheap Pro plan for individuals) offers a great value. And, really, CI is CI; if you ever need to migrate, even for this guy with hundreds of projects it should only take a couple days. Once you've seen one CI yaml file, you get the gist of what all of them do. Other options: * Gitlab CI. Good value, great integration with Gitlab, has integration with Github. * CircleCI. Something of a gold standard in CIaaS among growing companies. But, it goes down a lot, and the new UI isn't an improvement. But, it works and its a good value. Word of advice, I'd avoid using their "Orbs" if I were you. You can accumulate a lot of lock-in with those, and they're infamous for stability issues. Instead, use their docker builder and just build a base docker image with all the stuff you need installed. * Buildkite. Really cool product; they handle the control plane and the UI and webhooks, you host the runners. Its a simple binary or docker image you can install anywhere. If you're looking for something with low lock-in that's still easy to manage, Buildkite is a great option. I'll warn you though: if you're going to do any kind of cloud hosting for your runners, and you want to build docker images, best to avoid their dockerized runners. Just install natively on a linux box, either manually, with an AMI, etc. Docker-in-Docker sucks; not impossible to get working, but not worth your time. * Jenkins/JenkinsX. If you want something with zero lockin but also hard to manage. * AWS CodeBuild/CodePipeline/CodeDeploy. There is, like, no one I feel comfortable recommending these options to, but people still use them because they're AWS.
- microtherion 6y agoI'm quite happily using a self-hosted Drone (drone.io) instance, though I don't have much experience to compare it with with other CI systems and my use case is probably not the most sophisticated one. Team is quite responsive, especially considering I'm a free tier user.
- donmcronald 6y agoI really like Drone. The way “drone exec” works for local builds is really good. Hopefully getting bought by Harness doesn’t ruin it too much, but they already seem to be setting up to split it into versions/tiers. Almost all current CI systems suck at building Docker containers :-(
- nicoburns 6y agoAzure Pipelines has been really good for us. Much much more reliable than travis, and decent pricing. For self-hosted, I've heard really good things about build-kite (https://buildkite.com/ https://buildkite.com/) although I've not used it myself.
- donmcronald 6y agoI can’t see where build-kite is self hosted. It seems like you must use their SaaS dashboard which makes it DOA for me.
- nicoburns 6y agoThe build agents are self-hosted. So it would work for the GP where they are open to hosted services but have their own compute that they might want to use.
- shakna 6y agoSourcehut is something you might want to look at. It's modular, so you use what you use, and ignore the rest. The CI they offer makes no assumptions about where your repos might live (git is git. Who cares who the host is), and offers the stuff you might need like secrets, ssh keys, etc. The images they supply for testing actually seem more extensive than the other players. And if you really want to self-host it... Go ahead. The whole of sourcehut is open source and reasonably well documented. You can host your own build server with minimal fuss. [0] https://sourcehut.org/ https://sourcehut.org/
- azdle 6y agoInteresting, I didn't know it would support pulling from other git hosts. It looks like their CI even has an API integration with GitHub at least for PRs. That's looking like a potential winner. Thanks for pointing that out.
- jhasse 6y agoGitLab CI
- azdle 6y agoI always had insane amounts of queue time on gitlab's CI too. I know they have self-hostable runners, do you know if those work from behind a firewall so I could run them on hardware I have at home? Also, do you know if it's possible to use gitlab CI as a merge gate on github PRs?
- john_cogs 6y agoHi there, GitLab team member here. To answer your questions: yes, you can configure the Runner to work behind a firewall [1] and you can use GitLab CI for GitHub repos [2]. Hope that helps! 1 - https://forum.gitlab.com/t/how-does-communicate-gitlab-runners/7553/2 https://forum.gitlab.com/t/how-does-communicate-gitlab-runne... 2 - https://docs.gitlab.com/ee/ci/ci_cd_for_external_repos/#pipelines-for-external-pull-requests https://docs.gitlab.com/ee/ci/ci_cd_for_external_repos/#pipe...
- azdle 6y agoCool, thanks!