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)