Live data from Hacker News

Introducing Google Cloud Container Builder

cloudplatform.googleblog.com

81–90 of 114 posts

Re: Introducing Google Cloud Container Builder

#81

Just as with Amazon solution, this seems to not have caching. Baking deps into a separate image is a good solution, but oftentimes you want to rely on docker caching itself. For example docker caches `npm install` quite nicely if you split up the copying of package.json to a separate layer, which allows for a very neat flow where small app diffs result in a fast build, while adding new npm packages results in a sligh…

People use bamboo? Always been told to avoid it and use Team City. I can't find any good info on bamboo tho.

Re: Introducing Google Cloud Container Builder

#83
post #8

"First 120 build-minutes per day" : FREE Nice for Hobby projects...

I've ran medium sized projects (not hobby projects) on the GCCB, and they took about 5 minutes to build and test. Unless I want to build >24 times a day, this means GCCB will be free for my business in most cases. Personally, I think it's a great gesture, I didn't ask for it and yet it's free.

If your builds become much more complicated, and you have an team of developers working with CI, yes, you will exceed the 120m limit. But if you are running at that scale, a couple of dollars per day for the build process is the least of your running costs.

Re: Introducing Google Cloud Container Builder

#84
post #66

Earlier quoted context omitted.

Question: was this on regular CircleCI, or the v2 beta?

I tried setting up Docker deploys to K8S today on CircleCi v2 beta. I had a horribly difficult time getting it to work because running docker in the docker runtime is nearly impossible to do in a way that is compatible with Bazel.io. I ended up having to use the VM mode and it just felt like Circle v1.

Is there anything we can do to help on the Docker side?

Re: Introducing Google Cloud Container Builder

#85
post #11

Hi all, I'm on the eng team for this service. Happy to answer any questions, and I'll do my best to monitor the threads.

Could this be used as a more general CI service without deploying docker containers as the end result?

For example to build a C++ project, run tests, and publish resulting artefacts (binaries, tarballs) in some release repository?

Re: Introducing Google Cloud Container Builder

#86
post #74

Earlier quoted context omitted.

How does it work for monorepos with multiple docker images?

Good question, I actually hit this problem. In one of my projects, I build 3 microservices out of a single GitHub repository. So I had 3 different Dockerfiles. What didn't work out for me was that Cloud Container Builder does not let you specify the Dockerfile name (but it lets you specify the Dockerfile directory, so if your dockerfiles are in separate dirs, you're good; however it's not very helpful if you need to…

We've tried to satisfy the 90% case with the UI and "easy" options, especially those that transfer well from other push-to-build products.

To keep the UI simple and understandable for everyone, we decided to drop some options and require that you use a config for the more interesting cases.

There are lots of examples of config files (often named `cloudbuild.yaml`) in our github repo: https://github.com/googlecloudplatform/cloud-builders

Re: Introducing Google Cloud Container Builder

#87
post #66

Earlier quoted context omitted.

Question: was this on regular CircleCI, or the v2 beta?

I tried setting up Docker deploys to K8S today on CircleCi v2 beta. I had a horribly difficult time getting it to work because running docker in the docker runtime is nearly impossible to do in a way that is compatible with Bazel.io. I ended up having to use the VM mode and it just felt like Circle v1.

You may be interested in trying GCCB with the bazel build step: https://github.com/GoogleCloudPlatform/cloud-builders/tree/m...

In a GCCB build, we volume-mount in the VM host's docker daemon socket, so you can use the docker CLI, and related CLIs, with no additional setup.

We initially tried a docker-in-docker approach here, but it was a bit too fragile. This attempt was quite some time ago, so it's possible things have improved.

Re: Introducing Google Cloud Container Builder

#88

Earlier quoted context omitted.

I'd give this a look: https://github.com/GoogleCloudPlatform/cloud-builders/tree/m... (unfortunately key links to Bazel docs are 404'ing.) Bazel is a general purpose build system that focuses on reproducibility (same build inputs -> same build outputs) and strict dependency specification (at various levels: file, subsystem, external package fetching etc.) enforced by sandboxing which allows for fast incremental build…

We just open sourced our monorepo which uses Bazel - https://GitHub.com/staffjoy/v2 It has some major speed benefits. But it's not turnkey. Setting it up is hard. Its dep management in Go isn't compatible with lint, vet, etc. We never got node modules installing with Bazel.

If you send me an email (skelterjohn at google dot com) I'd love to help you get things working with that repo and GCCB.

Re: Introducing Google Cloud Container Builder

#89
post #11

Hi all, I'm on the eng team for this service. Happy to answer any questions, and I'll do my best to monitor the threads.

Could this be used as a more general CI service without deploying docker containers as the end result? For example to build a C++ project, run tests, and publish resulting artefacts (binaries, tarballs) in some release repository?

Absolutely.

Under the covers, GCCB is an arbitrary execution engine - we run a series of containers for you.

On top of that, we provide a lot of nice dressing to make it convenient and easy to build containers.

https://cloud.google.com/container-builder/docs/api/build-st... and https://cloud.google.com/container-builder/docs/api/custom-b... are documentation on how to use and create your own custom build steps.

Additionally, your build steps have access to the credentials of the service account used to run your build, so pushing to Cloud Storage, for instance, is straightforward (use the gsutil build step).

Re: Introducing Google Cloud Container Builder

#90
post #79
post #11

Hi all, I'm on the eng team for this service. Happy to answer any questions, and I'll do my best to monitor the threads.

Any support currently or planned for windows container builds?

We recognize the demand, and we're open to trying to get things working, but currently there is no support.
Post reply on HN