12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- # Copyright 2018 The Go Authors. All rights reserved.
- # Use of this source code is governed by a BSD-style
- # license that can be found in the LICENSE file.
- MUTABLE_VERSION ?= latest
- VERSION ?= $(shell git rev-parse --short HEAD)
- IMAGE_STAGING := gcr.io/go-dashboard-dev/h2demo
- IMAGE_PROD := gcr.io/symbolic-datum-552/h2demo
- DOCKER_IMAGE_build0=build0/h2demo:latest
- DOCKER_CTR_build0=h2demo-build0
- build0: *.go Dockerfile.0
- docker build --force-rm -f Dockerfile.0 --tag=$(DOCKER_IMAGE_build0) ../..
- h2demo: build0
- docker create --name $(DOCKER_CTR_build0) $(DOCKER_IMAGE_build0)
- docker cp $(DOCKER_CTR_build0):/go/bin/$@ $@
- docker rm $(DOCKER_CTR_build0)
- ca-certificates.crt:
- docker create --name $(DOCKER_CTR_build0) $(DOCKER_IMAGE_build0)
- docker cp $(DOCKER_CTR_build0):/etc/ssl/certs/$@ $@
- docker rm $(DOCKER_CTR_build0)
- update-deps:
- go install golang.org/x/build/cmd/gitlock
- gitlock --update=Dockerfile.0 --ignore=golang.org/x/net --tags=h2demo golang.org/x/net/http2/h2demo
- docker-prod: Dockerfile h2demo ca-certificates.crt
- docker build --force-rm --tag=$(IMAGE_PROD):$(VERSION) .
- docker tag $(IMAGE_PROD):$(VERSION) $(IMAGE_PROD):$(MUTABLE_VERSION)
- docker-staging: Dockerfile h2demo ca-certificates.crt
- docker build --force-rm --tag=$(IMAGE_STAGING):$(VERSION) .
- docker tag $(IMAGE_STAGING):$(VERSION) $(IMAGE_STAGING):$(MUTABLE_VERSION)
- push-prod: docker-prod
- gcloud docker -- push $(IMAGE_PROD):$(MUTABLE_VERSION)
- gcloud docker -- push $(IMAGE_PROD):$(VERSION)
- push-staging: docker-staging
- gcloud docker -- push $(IMAGE_STAGING):$(MUTABLE_VERSION)
- gcloud docker -- push $(IMAGE_STAGING):$(VERSION)
- deploy-prod: push-prod
- kubectl set image deployment/h2demo-deployment h2demo=$(IMAGE_PROD):$(VERSION)
- deploy-staging: push-staging
- kubectl set image deployment/h2demo-deployment h2demo=$(IMAGE_STAGING):$(VERSION)
- .PHONY: clean
- clean:
- $(RM) h2demo
- $(RM) ca-certificates.crt
- FORCE:
|