Build for Kubernetes within GCP
Overview
Here are my (incomplete) notes on the service introduced in 2018.
NOTE: Content here are my personal opinions, and not intended to represent any employer (past or present). “PROTIP:” here highlight information I haven’t seen elsewhere on the internet because it is hard-won, little-know but significant facts based on my personal research and experience.
-
https://cloud.google.com/cloud-build/
PROTIP: Don’t click “Try it now” takes you to login and
https://console.cloud.google.com/getting-started
That page is about all Google services.
-
Click “Documentation”
https://cloud.google.com/cloud-build/docs
Licensing
Google’s underlying technology is based on its open source project, Tekton, which it has donated to the Continuous Delivery Foundation (CDF).
-
Building containers
https://cloud.google.com/solutions/best-practices-for-building-containers?_ga=2.150600176.-79111431.1585931000
Firebase support
Google announced Cloud Build at its Google Next conference July 2018.
Techcrunch says:
Cloud Build works across a variety of environments including VMs, serverless, Kubernetes, or Firebase.
What’s more it supports Docker containers and it gives developers or operations the flexibility to build, test and deploy in an increasingly automated fashion.
Google will allow you to use triggers to deploy, so that when certain conditions are met, the update will launch automatically. You can identify vulnerabilities in your packages before you deploy and you can build locally and deploy in the cloud if you so choose.
Pricing
Since Google Cloud Build is relatively new in comparison with the other public cloud CI offerings, Google is now offering a generous amount of free minutes and a low pay-as-you-go pricing: up to 120 build minutes per day at no cost. Additional build minutes is billed at $0.0034 per minute.
https://console.cloud.google.com/marketplace/details/google/cloudbuild.googleapis.com?returnUrl=%2Fcloud-build%2Fbuilds%3F_ga%3D2.170725161.844775320.1585931000-79111431.1585931000%26project%3Dxenon-momentum-826%26folder%3D%26organizationId%3D&project=xenon-momentum-826&folder&organizationId
-
Click “Enable”
Console
- Select a Project.
- Click “Settings”.
-
Enable service accounts.
Install client CLI
gcloud
https://cloud.google.com/sdk/gcloud/reference
Secrets
Cloud KMS KeyRing and CryptoKey
https://cloud.google.com/cloud-build/docs/securing-builds/use-encrypted-secrets-credentials?hl=en_US
Define Builds
https://cloud.google.com/cloud-build/docs/api/reference/rest/v1/projects.builds
Create Build Triggers
https://cloud.google.com/cloud-build/docs/api/reference/rest/v1/projects.triggers
GitHub
-
There is a connector in GitHub Marketplace:
https://github.com/marketplace/google-cloud-build
Builds place Docker images into the Google Container Registry, which then natively integrates with Kubernetes.
Google needs to make it easier to pass artifacts from one step to the next to create more tightly integrated build pipelines. Google’s CI system executes each build step in a separate container.
Google needs to improve the granularity of build triggers.