From 33a02ddb44d73bc3deb664677611c936a801e3eb Mon Sep 17 00:00:00 2001 From: Kalaiselvim <117940852+Kalaiselvi84@users.noreply.github.com> Date: Fri, 4 Aug 2023 13:40:40 -0700 Subject: [PATCH] Cloudbuild script for autoscaler-webhook (#3298) * cloudbuild script for autoscaler-webhook * update project * changed path in Dockerfile * small tweak * revert Dockerfile, go.mod, go.sum and fixed path --------- Co-authored-by: Mark Mandel --- examples/autoscaler-webhook/Makefile | 20 ++++++++--- examples/autoscaler-webhook/cloudbuild.yaml | 40 +++++++++++++++++++++ examples/autoscaler-webhook/go.mod | 2 +- 3 files changed, 56 insertions(+), 6 deletions(-) create mode 100644 examples/autoscaler-webhook/cloudbuild.yaml diff --git a/examples/autoscaler-webhook/Makefile b/examples/autoscaler-webhook/Makefile index ca0bf60277..3e7ea5b164 100644 --- a/examples/autoscaler-webhook/Makefile +++ b/examples/autoscaler-webhook/Makefile @@ -23,12 +23,18 @@ # \_/ \__,_|_| |_|\__,_|_.__/|_|\___|___/ # -REPOSITORY = us-docker.pkg.dev/agones-images/examples +REPOSITORY ?= +PROD_REPO ?= us-docker.pkg.dev/agones-images/examples mkfile_path := $(abspath $(lastword $(MAKEFILE_LIST))) project_path := $(dir $(mkfile_path)) -autoscaler_webhook_tag = $(REPOSITORY)/autoscaler-webhook:0.7 -root_path = $(realpath $(project_path)/../..) +root_path := $(realpath $(project_path)/../..) + +ifeq ($(REPOSITORY),) + autoscaler_webhook_tag := autoscaler-webhook:0.7 +else + autoscaler_webhook_tag := $(REPOSITORY)/autoscaler-webhook:0.7 +endif # _____ _ # |_ _|_ _ _ __ __ _ ___| |_ ___ @@ -47,8 +53,12 @@ push: build # check if hosted on Google Artifact Registry gar-check: - gcloud container images describe $(autoscaler_webhook_tag) + gcloud container images describe $(PROD_REPO)/$(autoscaler_webhook_tag) #output the tag for this image echo-image-tag: - @echo $(autoscaler_webhook_tag) + @echo $(PROD_REPO)/$(autoscaler_webhook_tag) + +# build and push the autoscaler-webhook image with specified tag +cloud-build: + cd $(root_path) && gcloud builds submit --config=./examples/autoscaler-webhook/cloudbuild.yaml \ No newline at end of file diff --git a/examples/autoscaler-webhook/cloudbuild.yaml b/examples/autoscaler-webhook/cloudbuild.yaml new file mode 100644 index 0000000000..8000be4f5d --- /dev/null +++ b/examples/autoscaler-webhook/cloudbuild.yaml @@ -0,0 +1,40 @@ +# Copyright 2023 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +steps: + # + # Creates the initial make + docker build platform + # + - name: "ubuntu" + script: | + echo 'FROM gcr.io/cloud-builders/docker\nRUN apt-get install make\nENTRYPOINT [\"/usr/bin/make\"]' > Dockerfile.build + - name: gcr.io/cloud-builders/docker + id: build-make-docker + entrypoint: "docker" + args: ["build", "-f", "Dockerfile.build", "-t", "make-docker", "."] + + # build and push allocation-endpoint image to GCR + - name: "make-docker" + id: push + dir: "/workspace/examples/autoscaler-webhook/" + env: + - REPOSITORY=${_REPOSITORY} + script: | + make push +options: + dynamic_substitutions: true + +substitutions: + _REPOSITORY: us-docker.pkg.dev/${PROJECT_ID}/examples +timeout: 1800s diff --git a/examples/autoscaler-webhook/go.mod b/examples/autoscaler-webhook/go.mod index 5470e55b38..7690c4ecaa 100644 --- a/examples/autoscaler-webhook/go.mod +++ b/examples/autoscaler-webhook/go.mod @@ -47,4 +47,4 @@ require ( sigs.k8s.io/yaml v1.3.0 // indirect ) -replace agones.dev/agones => ../../ +replace agones.dev/agones => ../../ \ No newline at end of file