TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Ask HN: What CI/CD server/service do you use?

22 点作者 jstoja超过 8 年前
I heard so many people, read so many blog-posts on Jenkins, it&#x27;s integration with many tools with it&#x27;s plugin architecture, but also about TravisCI and how much it helped the OS community to build quality software for free, but I&#x27;m curious about other solutions and how well they work.<p>What are you using? What criterias did drive this choice? Would you do it differently?

14 条评论

rabbitfang48超过 8 年前
I&#x27;m using GitLab CI. I use GitLab.com for the free private git project hosting. GitLab.com has free CI servers available (even for private projects) that work well if you don&#x27;t need to run builds all the time. A lot of people use their shared CI runners, so your jobs&#x2F;builds might take several minutes before they start running. If you have a larger need, you can always host your own runners (software is FOSS).<p>GitLab&#x27;s CI has a pipeline design, so (like Jenkins) you can have some jobs wait for other jobs to complete and use their build artifacts (e.g. have a single build job that downloads deps and compiles everything so later jobs don&#x27;t need duplicate that work), and you can have jobs only be triggered manually instead of on every push.<p>It&#x27;s not perfect, though. For instance, unlike TravisCI, you don&#x27;t have a build matrix, but you can use YAML tricks to define template jobs (see GitLab&#x27;s own CI file [0] and a resulting pipeline [1]). If you use GitLab.com, you should be aware that they have downtime a few times each month, both planned and unplanned. For their planned downtime, it is often during the work day in the US timezones, and usually lasts between 10-30 minutes (though it has been longer before). GitLab.com is also used as a &quot;testing in production&quot; environment for their monthly releases, so you will occasionally run into bugs (usually nothing showstopping though; mostly minor annoyances).<p>I think that what you choose greatly depends on what you need. GitLab CI is a little opinionated, but it is still pretty flexible and usable for a large number of work cases. If you need a ton of customizability, Jenkins could be a better option (with plugins). GitLab CI is a lot easier to setup, however.<p>GitLab CI also has CD features that you can look into (I don&#x27;t use them myself). They are also constantly (i.e. every 22nd of the month) releasing new versions, and most of their features are open source.<p>[0]: <a href="https:&#x2F;&#x2F;gitlab.com&#x2F;gitlab-org&#x2F;gitlab-ce&#x2F;blob&#x2F;master&#x2F;.gitlab-ci.yml" rel="nofollow">https:&#x2F;&#x2F;gitlab.com&#x2F;gitlab-org&#x2F;gitlab-ce&#x2F;blob&#x2F;master&#x2F;.gitlab-...</a><p>[1]: <a href="https:&#x2F;&#x2F;gitlab.com&#x2F;gitlab-org&#x2F;gitlab-ce&#x2F;pipelines&#x2F;6014043" rel="nofollow">https:&#x2F;&#x2F;gitlab.com&#x2F;gitlab-org&#x2F;gitlab-ce&#x2F;pipelines&#x2F;6014043</a>
评论 #13487979 未加载
gitlabfan超过 8 年前
Codepen recently published podcast episode [0], where they tell why they spitched from GitHub to GitLab. Built in CI solution was one of the reasons. If you don&#x27;t want to listen the whole thing, there&#x27;s also a transcript: [1]<p>[0]: <a href="https:&#x2F;&#x2F;blog.codepen.io&#x2F;2017&#x2F;01&#x2F;24&#x2F;114-gitlab&#x2F;" rel="nofollow">https:&#x2F;&#x2F;blog.codepen.io&#x2F;2017&#x2F;01&#x2F;24&#x2F;114-gitlab&#x2F;</a><p>[1]: <a href="http:&#x2F;&#x2F;gitlabfan.com&#x2F;ce4d016e0eec" rel="nofollow">http:&#x2F;&#x2F;gitlabfan.com&#x2F;ce4d016e0eec</a>
hhandoko超过 8 年前
I use Codeship [1] for personal (private) project and Travis CI [2] for open source ones. I had also use AppVeyor [3] for one of my Windows web app project.<p>I chose Codeship since it was the only one (at the time) that had BitBucket integration. The free tier (100 builds &#x2F; mo) was more than enough for my side projects. In addition, it supports a lot of deployment targets (e.g. ElasticBeanstalk and Heroku).<p>I use Travis CI for open source projects initially since it is what everyone uses :) However, one feature that I find really useful is the test matrix. I used it to test my project against different Java version and Cassandra distribution versions [4].<p>I use AppVeyor on one of my side project (which lies dormant now) since needing to test against both *nix and Windows build (a .NET &#x2F; Mono web application).<p>[1] - <a href="https:&#x2F;&#x2F;codeship.com&#x2F;" rel="nofollow">https:&#x2F;&#x2F;codeship.com&#x2F;</a><p>[2] - <a href="https:&#x2F;&#x2F;travis-ci.org&#x2F;" rel="nofollow">https:&#x2F;&#x2F;travis-ci.org&#x2F;</a><p>[3] - <a href="https:&#x2F;&#x2F;www.appveyor.com&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.appveyor.com&#x2F;</a><p>[4] - <a href="https:&#x2F;&#x2F;github.com&#x2F;builtamont-oss&#x2F;cassandra-migration" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;builtamont-oss&#x2F;cassandra-migration</a>
johnnycarcin超过 8 年前
After being a Jenkins person for years I recently started playing around with Visual Studio Team Services, Microsoft&#x27;s hosted TFS product: <a href="https:&#x2F;&#x2F;www.visualstudio.com&#x2F;team-services&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.visualstudio.com&#x2F;team-services&#x2F;</a>.<p>You don&#x27;t have to use TFS as the backend as git is supported and all of your build and release stuff is under the same roof. They have added a lot of &quot;tasks&quot; for most of the popular languages but worst case is you can always run shell commands to do stuff.<p>The UI leaves a bit to be desired (I think) but for the most part I can live with it.<p>Full disclosure, I work at MSFT but have been a Linux&#x2F;Open Source&#x2F;non-ms person for most of my career.<p>EDIT: With all of that being said I do like Gitlab because it offers many of the same features (code repo, builds, etc) and am using Gitea&#x2F;Gogs on my own VM for repo mirroring from Github.
评论 #13488034 未加载
hackerboos超过 8 年前
Some guys in our workplace have been investigating Concourse CI and like it over Bamboo which we currently use.<p><a href="https:&#x2F;&#x2F;concourse.ci&#x2F;" rel="nofollow">https:&#x2F;&#x2F;concourse.ci&#x2F;</a>
Cpoll超过 8 年前
We use Jenkins, hosted on Amazon. We&#x27;re .NET stack, so some of the other options didn&#x27;t work.<p>Biggest lesson for us: Avoid putting all your logic into Jenkins templates. You&#x27;re not capturing your CI&#x2F;deployment logic in version control, and this can cause problems down the road (we backed up Jenkins regularly, but versioning was a weak point).<p>Instead, do as much as you can in scripts, and use Jenkins as a glorified crontab (+webhooks).
评论 #13485361 未加载
评论 #13485879 未加载
Philomath超过 8 年前
I use GitLab not only because it&#x27;s built in but because I&#x27;ve also had a really smooth experience with them.<p>They might be slower than others, but imo all development is made locally so I don&#x27;t mind if sometimes it takes more than 5 minutes (used to take longer but they have improved a lot!).<p>I&#x27;ve only waited for like 30 minutes once. I would definitely recommend it.
评论 #13488639 未加载
SaltyVagrant超过 8 年前
I&#x27;ve used various CI&#x2F;CD server&#x2F;services in the past. As with so many tooling questions this is one of those &#x27;depends&#x27; situations.<p>Jenkins is okay but you have to really stay on top of the build environment (not just a specified in Jenkins itself but also the OS and tooling on the Jenkins server and build machines).<p>I&#x27;m in the process of building a new CI&#x2F;CD pipeline and this time I&#x27;m using Concourse. This is a good fit because the target system is largely containerised (not that Concourse can&#x27;t be used elsewhere, it can, but it&#x27;s just a coincidental fit). Additionally, Concourse addresses the problem identified by Cpoll as, unlike Jenkins et al, Concourse pipeline, build plans, and tasks are 100% available for version control.<p>That all said, I can&#x27;t comment on Concourse&#x27;s foibles as I&#x27;ve not used it long enough to uncover them :)
cauterized超过 8 年前
We were locked into an Atlassian stack when they discontinued Bamboo and Pipelines wasn&#x27;t ready for production (nor a good fit for us).<p>We ended up going with a service called Buildkite, which is almost a drop-in replacement. They even had docs specifically about migrating from Bamboo, and in general their documentation has been excellent.<p>We really like having full control over the test execution environment despite not being ready to start using Docker, and we&#x27;ve been pretty happy with the service itself as well as the tech support we&#x27;ve received. I might choose something else for a different company, but this is a very good fit for us.
atsaloli超过 8 年前
Nice to see GitLab CI getting some love on this thread.<p>I have to polish it yet but my notes for teaching GitLab CI (one-day course on the basics of it) are available at <a href="https:&#x2F;&#x2F;gitlab.com&#x2F;atsaloli&#x2F;gitlab-ci-tutorial" rel="nofollow">https:&#x2F;&#x2F;gitlab.com&#x2F;atsaloli&#x2F;gitlab-ci-tutorial</a> and may help one get started with it.
accraze超过 8 年前
I&#x27;ve been using GoCD for the past couple of months and I&#x27;m really liking it so far. Its very flexible and relatively straight-forward to setup on your own VM. The plugins work similar to the way Jenkin&#x27;s does it. Also the UI is very clean.
hitsurume超过 8 年前
I&#x27;ve used Jenkins in the past and Bamboo right now without any issues for CI and a little bit of CD through custom scripts. Granted this has worked well for under 30 engineers, so i&#x27;m not sure how bigger teams do things.
monty5811超过 8 年前
Semaphore [0] is great. It was the only place where I could get selenium tests to work reliably.<p>[0]: <a href="https:&#x2F;&#x2F;semaphoreci.com&#x2F;" rel="nofollow">https:&#x2F;&#x2F;semaphoreci.com&#x2F;</a>
taqwasd1超过 8 年前
CircleCI<p>I&#x27;m considering GitLab for the built in CI, as long as it works painlessly with Heroku.