<aside> 💡 自动构建工具
</aside>
了解如何通过构建 Docker 映像并将映像推送到 Artifact Registry 来开始使用 Cloud Build。Artifact Registry 提供用于管理私有软件包和 Docker 容器映像的单个位置。
| 构建器 | 名称 |
|---|---|
| bazel | gcr.io/cloud-builders/bazel |
| docker | gcr.io/cloud-builders/docker |
| git | gcr.io/cloud-builders/git |
| gcloud | gcr.io/cloud-builders/gcloud |
| gke-deploy | gcr.io/cloud-builders/gke-deploy |
| gradle | gcr.io/cloud-builders/gradle |
| maven | gcr.io/cloud-builders/mvn |
steps:
- name: gcr.io/cloud-builders/docker
//docker build -t gcr.io/done-202008/done-aceso:uat-aceso-xxx -f Dockerfile
args:
- build
- '-t'
- 'gcr.io/$PROJECT_ID/$_APP_NAME:$_K8S_NAMESPACE-aceso-$COMMIT_SHA'
- .
- '-f'
- $_DOCKERFILE_NAME
id: BuildWorker
- name: gcr.io/cloud-builders/docker
args:
- push
- 'gcr.io/$PROJECT_ID/$_APP_NAME:$_K8S_NAMESPACE-aceso-$COMMIT_SHA'
id: PushWorker
- name: gcr.io/cloud-builders/kubectl
args:
- cluster-info
env:
- _APP_NAME=$_APP_NAME
- CLOUDSDK_COMPUTE_REGION=$_GKE_LOCATION
- CLOUDSDK_CONTAINER_CLUSTER=$_GKE_CLUSTER
- KUBECONFIG=/workspace/.kube/config
- name: gcr.io/$PROJECT_ID/helm
args:
- -n=$_K8S_NAMESPACE
- upgrade
- -i
- $_APP_NAME
- ./k8s
- --set
- global.image=gcr.io/$PROJECT_ID/$_APP_NAME:$_K8S_NAMESPACE-aceso-$COMMIT_SHA,global.gitVersion=$COMMIT_SHA,server.replicas=$_K8S_REPLICAS,server.exEnv.DEPLOY_ENV=$_K8S_NAMESPACE,server.exEnv.APP_ID=$_APP_NAME
env:
- KUBECONFIG=/workspace/.kube/config
options:
substitutionOption: ALLOW_LOOSE
substitutions:
_APP_NAME: aceso
_GKE_LOCATION: us-west2-a
_GKE_CLUSTER: done-cluster
_DOCKERFILE_NAME: Dockerfile
_WORKER_DOCKERFILE_NAME: DockerfileWorker
_K8S_NAMESPACE: uat
_K8S_REPLICAS: "1"
_DOMAIN: api-uat.donefirst.com
_REDIS_URL: redis://10.234.50.156:6379/1
tags:
- gcp-cloud-build-deploy
- $_K8S_APP_NAME