golang.org/x/build@v0.0.0-20240506185731-218518f32b70/cmd/gopherbot/Makefile (about) 1 # Copyright 2017 The Go Authors. All rights reserved. 2 # Use of this source code is governed by a BSD-style 3 # license that can be found in the LICENSE file. 4 5 MUTABLE_VERSION ?= latest 6 VERSION ?= $(shell git rev-parse --short HEAD) 7 8 IMAGE_STAGING := gcr.io/go-dashboard-dev/gopherbot 9 IMAGE_PROD := gcr.io/symbolic-datum-552/gopherbot 10 11 docker-image: Dockerfile *.go 12 docker build --force-rm -f Dockerfile --tag=$(IMAGE_PROD):$(VERSION) ../.. 13 docker tag $(IMAGE_PROD):$(VERSION) $(IMAGE_PROD):$(MUTABLE_VERSION) 14 docker tag $(IMAGE_PROD):$(VERSION) $(IMAGE_STAGING):$(VERSION) 15 docker tag $(IMAGE_PROD):$(VERSION) $(IMAGE_STAGING):$(MUTABLE_VERSION) 16 17 push-prod: docker-image 18 docker push $(IMAGE_PROD):$(MUTABLE_VERSION) 19 docker push $(IMAGE_PROD):$(VERSION) 20 push-staging: docker-image 21 docker push $(IMAGE_STAGING):$(MUTABLE_VERSION) 22 docker push $(IMAGE_STAGING):$(VERSION) 23 24 deploy-prod: push-prod 25 go install golang.org/x/build/cmd/xb 26 xb --prod kubectl --namespace prod set image deployment/gopherbot-deployment gopherbot=$(IMAGE_PROD):$(VERSION) 27 deploy-staging: push-staging 28 go install golang.org/x/build/cmd/xb 29 xb --staging kubectl set image deployment/gopherbot-deployment gopherbot=$(IMAGE_STAGING):$(VERSION)