Boost Your DevOps With Google Cloud Build
Google Cloud Build is a really powerful tool. You can configure your entire CI/CD pipeline with it. GCB executes your build as a series of build steps, where each build step runs in a container. And a build step can do anything that can be done from a container irrespective of the environment.
Whoa... wait a minute... you decided to have a private cluster, remember? Think it’s time to RTFM. Probably should have done that before you started, but who really does? Creating a private Kubernetes Engine cluster means the Kubernetes Engine nodes won’t have public IP addresses. Hate to burst your bubble, but don't believe GCB supports private GKE clusters yet!
In a private cluster, the Docker runtime can pull container images from Google’s Container Registry. It cannot pull images from any other registry on the internet. This is because the nodes in a private cluster do not have external IP addresses, so they cannot communicate with sites outside of Google.
You're right, it doesn't, but when there's a will, there's always Remote Builder!
Remote Builder is a customized container image running as a build step in your Cloud Build. You can leverage GCB to trigger your builds and manage their workflow, but run the actual build steps on an instance with exactly the configuration you need.
Really... How?
We heard you like builders, so we put a builder in your builder so you can build your build.
When using the remote-builder image, the following will happen:
- A temporary SSH key will be created in your Cloud Build workspace
- An instance will be launched with your configured flags
- The workspace will be copied to the remote instance
- Your command will be run inside that instance's workspace
- The workspace will be copied back to your Cloud Build workspace
... And voilà! GCB to private GKE CI/CD pipeline.
In this short video, Basma explains the steps to get your pipeline up & running.
Enjoy!