8 ms·
Launching Today: CircleCI 2.0 Reaches General Availability
- drinchev 9y agoCircleCI is great! I use it almost everywhere. Unfortunately here in Berlin mostly everyone switches to self-hosted version of Jenkins at one point.
- ssemmaprise 9y agoWhat do you think happens at that point to make them switch toJenkins? (In case it's not super obvious, I work at CircleCI)
- drinchev 9y agoI've heard some reasons like : - Privacy issues - Owning critical service component Unfortunately I've never heard the reason that I think is the right one ( at least from what I can see is happening here ), which sounds like : "Hey, we don't need this, because at Zalando / Nokia Maps, etc. we used Jenkins, so I don't wanna spend time maintaining a new tool ( CircleCI )." Same stuff happens with project management ( dominated by JIRA around Berlin ). At one point a company trashed all my CD-setup ( which was with the free plan anyway ) to run Jenkins with Docker ( I don't know how well supported docker is with CircleCI, but I doubt that is so much different than Jenkins ). EDIT: I'm freelancing in Berlin, so I usually do a hand-over when the team of devs is hired.
- scrollaway 9y agoYeah, CircleCI really needs to allow self-hosting. Jenkins is basically the only player in the space and Jenkins is not good.
- ssemmaprise 9y agoWe do -- but let me know if for some reason this isn't what you're thinking/wouldn't meet your needs: https://circleci.com/enterprise/ https://circleci.com/enterprise/
- falsedan 9y ago> $35/user/month That's ~$40k/year for 100 devs, plus the infrastructure costs. A Jenkins license is $0 (or $100k+ for enterprise support). If it was my budget, I'd have a hard time fronting up a large fraction of a developer's salary to a third party to provide a fuzzy level of support, versus spending zero money and putting the support burden on an in-house team I can trust and directly influence. TeamCity has great support, I trust them from JetBrains's great work with IDEs, and their top-shelf license is ~$22k (one-off with 1-year of support & upgrade; iirc the yearly support fee is discounted 50% of original license).
- gtirloni 9y agoIf you have 100 devs, you need at least 1 FTE supporting Jenkins and that's $60-120k/year alone.
- sixstringtheory 9y agoNah, just have everyone spend 1% of their time on CI.
- falsedan 9y agoWe have more devs than that, and we spend way less than 1 FTE (or equivalent) per year on keeping it in good working order. Our biggest issue is when we want to do something that's not well-supported or hit bugs.
- gtirloni 9y agoThat's impressive. We run into not well supported features and bugs frequently. It's probably a side effect of our workloads. Right now we're evaluating GitLab CI and it looks like the way forward (for us).
- nickcox 9y agoTo be fair, there's also Concourse, TeamCity and GoCD which all enable self hosting for free.
- jamesjamesm 9y agoAnd Drone CI which is the most similar to Circle CI
- ssemmaprise 9y agoThanks for the reply. Yeah, of course there is always the "devil you know" argument :) CircleCI 2.0 was built with first-class Docker support, so if that's something you're interested in, definitely take a look.
- deleted 9y ago[deleted]
- dankohn1 9y agoDo you recommend using the same Docker image that passes tests on CircleCI in production? I have an open source Rails app <https://github.com/coreinfrastructure/best-practices-badge> https://github.com/coreinfrastructure/best-practices-badge> that self-certifies that open source projects are following best practices. It currently uses CircleCI 1.0 and then deploys to Heroku <https://circleci.com/gh/coreinfrastructure/best-practices-badge> https://circleci.com/gh/coreinfrastructure/best-practices-ba.... If I configure it for development and test, it will contain all the test and development gems in addition to the production ones <https://github.com/coreinfrastructure/best-practices-badge/blob/master/Gemfile> https://github.com/coreinfrastructure/best-practices-badge/b.... I would also need to include gcc and other build tools. But I would have immutability in that my dev, test and production images would be identical. Or, should I use one image for dev and test, and then build a different image for production, in order to have the smallest possible size? CircleCI supports building <https://circleci.com/docs/2.0/building-docker-images/> https://circleci.com/docs/2.0/building-docker-images/> further Docker images, but then there's a chance of losing dev/prod parity if, for example, a software dependency gets updated in the meantime.
- 147 9y agoI'm not sure if Circle supports it yet but you should definitely look into docker multistage builds as that should solve this problem for you. https://docs.docker.com/engine/userguide/eng-image/multistage-build/ https://docs.docker.com/engine/userguide/eng-image/multistag...
- dankohn1 9y agoI've been experimenting with multi-stage builds, and they do let me build a leaner image with clearer syntax by using one the first image to build my gems, and then copying the gems to the final image. <https://github.com/coreinfrastructure/best-practices-badge/blob/dan-docker-updated/Dockerfile#L48> https://github.com/coreinfrastructure/best-practices-badge/b... However, that doesn't fix the problem of having lots of development and test gems installed in test that I don't want for production. I don't know of a way of copying just my production gems to a production image.
- deleted 9y ago[deleted]
- nailer 9y agoUse Circle daily, signed up for the beta 2.0 release which has been fine in production for the last few months. When I've needed support (mainly around installing custom versions of various apps) the staff have been very responsive. Circle folk: for me it still displays 'Leave 2.0 beta' and 'Join 2.0 beta' - do I need to anything to get 2.0 final?
- ssemmaprise 9y agoThat label on your dashboard refers to a UI change, which, now that you bring it up, does sound super confusing. You don't need to do anything to go from beta 2.0 to GA 2.0 - if you're using 2.0 config in your yml file, you're in. Thanks for pointing that out, let me see if we can make that less head-scratchy.
- nailer 9y agoHa maybe I haven't been using 2.0 then - I thought Circle 2.0 meant Circle 2.0, UI and backend.
- ssemmaprise 9y agoMore on going from 1.0 to 2.0 here: https://circleci.com/docs/2.0/migrating-from-1-2/ https://circleci.com/docs/2.0/migrating-from-1-2/ You should also see a little icon in your dashboard that says 1.0 or 2.0 to the right of each of your builds - that will tell you what version you're on :)
- rishimkumar 9y agoWe pushed a change this morning to make it slightly less head-scratchy :)
- tfar 9y agoIs there a way to cache build results for follow up builds? So the next build only needs to rebuild the files that changed?
- ssemmaprise 9y agoThis may be what you are looking for: https://circleci.com/docs/2.0/artifacts/ https://circleci.com/docs/2.0/artifacts/
- olalonde 9y agoYes: https://circleci.com/docs/2.0/caching/ https://circleci.com/docs/2.0/caching/
- danielsamuels 9y agoOh no, we tried switching over to it for a test project and it was basically a disaster. Something as simple as running Python tests and node tests on the same instance just didn't seem to be possible. We _really_ don't want to have to maintain our own Docker images. Their support forums are running Discourse too, so it's basically impossible to find anything you're looking for.
- tlackemann 9y agoI always found Discourse sites to be quite easy to navigate. Do you suggest anything better?
- danielsamuels 9y agoUnfortunately not. I spent many years on Proboards / VBulletin and their ilk, I don't feel like any of them really nailed it.
- enzanki_ars 9y agoThe problem with any community forum support is that without representatives from the company constantly on there, a question might: - go unanswered - get answered by the community with "here is how you do it," without the "here is why" part. - the question can't be answered by the community and all you see are messages along the lines of "same issue here." Rarely do I see the "here is how you do it and here is why" answer I am looking for.
- Dirlewanger 9y agoThose are all valid, but none of those are inherent with Discourse, so not sure why the guy mentioned brought it up.
- rtpg 9y agowe were kind of in the same boat, but realized you can still use the "machine VM" setup from before and just install the required dependencies. Not great, but works.
- nailer 9y agoRe: https://circleci.com/docs/2.0/migrating-from-1-2/ https://circleci.com/docs/2.0/migrating-from-1-2/ Rather than have every customer repeat these steps to transform their file, why don't you do it for them, and make a circle.yml to .circleci/config.yml converter? I'm currently trying to work out what dependencies: pre: Turns into for 2.0. There's instructions for dependencies: override: But I'm not sure if the same logic applies to pre, and the replacement shown there is indented in such a way that it looks like there's some missing information about what the parent container should be. All I can do is guess what the replacement for dependencies: pre: should be.
- keybits 9y agoThanks for the feedback, we have a tool in the works to translate the config. Sorry it's not available right now. For the 'dependencies: pre' step, you would replace that with a 'run' step, the same as outlined for 'dependencies: override'. We'll update the docs - thanks for pointing it out.
- nailer 9y agoIs there something above 'steps:'? The indentation looks like there's a missing parent key - eg, it starts with a bunch of spaces at the top level - but it's hard to work out what it is. Edit: looking at another doc, https://circleci.com/docs/2.0/configuration-reference/#deploy https://circleci.com/docs/2.0/configuration-reference/#deplo..., the missing parent key is 'jobs:' Also shouldn't "Search and Replace Deprecated 2.0 Keys" be "Search and Replace Deprecated 1.0 Keys" (or better "Search and Replace Deprecated Keys")?
- nailer 9y agoAlso https://circleci.com/docs/2.0/configuration-reference/#table-of-contents https://circleci.com/docs/2.0/configuration-reference/#table... Implies 'steps' is directly under 'jobs', whereas: https://circleci.com/docs/2.0/configuration-reference/#full-example https://circleci.com/docs/2.0/configuration-reference/#full-... shows that 'steps' is under 'jobs > build'
- k__ 9y agoHalf-OT: How do you do CI with iOS applications? Is there some good cloud service? Or do you simply set up a local macOS server with Fastlane, for example, and be done with it?
- ssemmaprise 9y agoiOS/macOS also supported on CircleCI. Unfortunately not on 2.0 yet, but coming soon! https://circleci.com/mobile/ https://circleci.com/mobile/
- hiroshi3110 9y agoWe use buddybuild. It can release to iTC. https://www.buddybuild.com https://www.buddybuild.com
- kevinburke 9y agoI wrote a binary for interacting with CircleCI from the command line that you might like. Notably you can type "circle wait" and get friendly output showing how long your test steps took to run and which (if any) containers of a multi-container test failed. We use it a ton and you might like it too. https://github.com/Shyp/go-circle https://github.com/Shyp/go-circle
- twinpride34 9y agoIs this fundamentally a more Enterprise version from 1.0? We're looking for something with security, control, support etc that we didn't see when we looked at 1.0.
- felicianotech 9y agoLike what specifically? There's tons more flexibility which would help enterprise companies. Separately, there's also CircleCI Enterprise.
- manishas 9y agoCheck out http://docs.shippable.com/getting-started/byon-overview/ http://docs.shippable.com/getting-started/byon-overview/ All the security and control of an on-premises solution with all the benefits of SaaS.
- bdcravens 9y agoAfter years of using CircleCI 1.0 (loved that they let me install custom packages) for pre-Docker apps, I found 2.0 required a ton of scripting to test and deploy. Moved back over to Codeship - love the workflow. Setup used our docker-compose.yml, and testing/deploy config using a simple yml file worked great. Love the command line tool that lets us encrypt ENV files, as well as run and deubg the build locally.