Reputation: 884
I developed the yaml files for kubernetes and skaffold and the dockerfile. My deployment with Skaffold work well in my local machine.
Now I need to implement the same deployment in my k8s cluster in my Google Cloud project, triggered by new tags in a GitHub repository. I found that I have to use Google Cloud Build, but I don't know how to execute Skaffold from the cloudbuild.yaml file.
Upvotes: 1
Views: 1708
Reputation: 36
You can use this image gcr.io/k8s-skaffold/skaffold
eg:
steps:
- name: 'gcr.io/k8s-skaffold/skaffold:v2.9.0'
args: ['skaffold', 'build']
Upvotes: 0
Reputation: 161
There is a skaffold image in https://github.com/GoogleCloudPlatform/cloud-builders-community
To use it, follow the following steps:
git clone https://github.com/GoogleCloudPlatform/cloud-builders-community
cd cloud-builders-community/skaffold
gcloud builds submit --config cloudbuild.yaml .
Then, in your cloudbuild.yaml
, you can add a step based on this one:
- id: 'Skaffold run'
name: 'gcr.io/$PROJECT_ID/skaffold:alpha' # https://github.com/GoogleCloudPlatform/cloud-builders-community/tree/master/skaffold
env:
- 'CLOUDSDK_COMPUTE_ZONE=us-central1-a'
- 'CLOUDSDK_CONTAINER_CLUSTER=[YOUR_CLUSTER_NAME]'
entrypoint: 'bash'
args:
- '-c'
- |
gcloud container clusters get-credentials [YOUR_CLUSTER_NAME] --region us-central1-a --project [YAOUR_PROJECT_NAME]
if [ "$BRANCH_NAME" == "master" ]
then
skaffold run
fi
Upvotes: 5