From cbdc7ef2d338ba76935dade5acea2ad2b619dd82 Mon Sep 17 00:00:00 2001 From: stefanprodan Date: Fri, 21 Jun 2019 16:31:51 +0300 Subject: [PATCH] Build and run k8s code gen with go modules --- Dockerfile | 17 +---------------- Dockerfile.loadtester | 14 +------------- Makefile | 15 +++++++++------ hack/update-codegen.sh | 16 +--------------- 4 files changed, 12 insertions(+), 50 deletions(-) diff --git a/Dockerfile b/Dockerfile index 1e108f6f..f0cf8bd3 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,18 +1,3 @@ -FROM golang:1.12 - -RUN mkdir -p /go/src/github.com/weaveworks/flagger/ - -WORKDIR /go/src/github.com/weaveworks/flagger - -COPY . . - -#RUN GO111MODULE=on go mod download - -RUN GIT_COMMIT=$(git rev-list -1 HEAD) && \ - GO111MODULE=on CGO_ENABLED=0 GOOS=linux go build -mod=vendor -ldflags "-s -w \ - -X github.com/weaveworks/flagger/pkg/version.REVISION=${GIT_COMMIT}" \ - -a -installsuffix cgo -o flagger ./cmd/flagger/* - FROM alpine:3.9 RUN addgroup -S flagger \ @@ -21,7 +6,7 @@ RUN addgroup -S flagger \ WORKDIR /home/flagger -COPY --from=0 /go/src/github.com/weaveworks/flagger/flagger . +COPY /bin/flagger . RUN chown -R flagger:flagger ./ diff --git a/Dockerfile.loadtester b/Dockerfile.loadtester index 279e8a44..dafc9b49 100644 --- a/Dockerfile.loadtester +++ b/Dockerfile.loadtester @@ -1,15 +1,3 @@ -FROM golang:1.12 AS builder - -RUN mkdir -p /go/src/github.com/weaveworks/flagger/ - -WORKDIR /go/src/github.com/weaveworks/flagger - -COPY . . - -RUN go test -race ./pkg/loadtester/ - -RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o loadtester ./cmd/loadtester/* - FROM bats/bats:v1.1.0 RUN addgroup -S app \ @@ -25,7 +13,7 @@ RUN curl -sSL "https://get.helm.sh/helm-v2.12.3-linux-amd64.tar.gz" | tar xvz && chmod +x linux-amd64/helm && mv linux-amd64/helm /usr/local/bin/helm && \ rm -rf linux-amd64 -COPY --from=builder /go/src/github.com/weaveworks/flagger/loadtester . +COPY ./bin/loadtester . RUN chown -R app:app ./ diff --git a/Makefile b/Makefile index 05ad744a..1cfaf6db 100644 --- a/Makefile +++ b/Makefile @@ -7,30 +7,31 @@ LT_VERSION?=$(shell grep 'VERSION' cmd/loadtester/main.go | awk '{ print $$4 }' TS=$(shell date +%Y-%m-%d_%H-%M-%S) run: - go run cmd/flagger/* -kubeconfig=$$HOME/.kube/config -log-level=info -mesh-provider=istio -namespace=test \ + GO111MODULE=on go run cmd/flagger/* -kubeconfig=$$HOME/.kube/config -log-level=info -mesh-provider=istio -namespace=test \ -metrics-server=https://prometheus.istio.weavedx.com run-appmesh: - go run cmd/flagger/* -kubeconfig=$$HOME/.kube/config -log-level=info -mesh-provider=appmesh \ + GO111MODULE=on go run cmd/flagger/* -kubeconfig=$$HOME/.kube/config -log-level=info -mesh-provider=appmesh \ -metrics-server=http://acfc235624ca911e9a94c02c4171f346-1585187926.us-west-2.elb.amazonaws.com:9090 run-nginx: - go run cmd/flagger/* -kubeconfig=$$HOME/.kube/config -log-level=info -mesh-provider=nginx -namespace=nginx \ + GO111MODULE=on go run cmd/flagger/* -kubeconfig=$$HOME/.kube/config -log-level=info -mesh-provider=nginx -namespace=nginx \ -metrics-server=http://prometheus-weave.istio.weavedx.com run-smi: - go run cmd/flagger/* -kubeconfig=$$HOME/.kube/config -log-level=info -mesh-provider=smi:istio -namespace=smi \ + GO111MODULE=on go run cmd/flagger/* -kubeconfig=$$HOME/.kube/config -log-level=info -mesh-provider=smi:istio -namespace=smi \ -metrics-server=https://prometheus.istio.weavedx.com run-gloo: - go run cmd/flagger/* -kubeconfig=$$HOME/.kube/config -log-level=info -mesh-provider=gloo -namespace=gloo \ + GO111MODULE=on go run cmd/flagger/* -kubeconfig=$$HOME/.kube/config -log-level=info -mesh-provider=gloo -namespace=gloo \ -metrics-server=https://prometheus.istio.weavedx.com run-nop: - go run cmd/flagger/* -kubeconfig=$$HOME/.kube/config -log-level=info -mesh-provider=none -namespace=bg \ + GO111MODULE=on go run cmd/flagger/* -kubeconfig=$$HOME/.kube/config -log-level=info -mesh-provider=none -namespace=bg \ -metrics-server=https://prometheus.istio.weavedx.com build: + GIT_COMMIT=$$(git rev-list -1 HEAD) && GO111MODULE=on CGO_ENABLED=0 GOOS=linux go build -ldflags "-s -w -X github.com/weaveworks/flagger/pkg/version.REVISION=$${GIT_COMMIT}" -a -installsuffix cgo -o ./bin/flagger ./cmd/flagger/* docker build -t weaveworks/flagger:$(TAG) . -f Dockerfile push: @@ -101,10 +102,12 @@ reset-test: kubectl apply -f ./artifacts/canaries loadtester-run: + GO111MODULE=on CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o ./bin/loadtester ./cmd/loadtester/* docker build -t weaveworks/flagger-loadtester:$(LT_VERSION) . -f Dockerfile.loadtester docker rm -f tester || true docker run -dp 8888:9090 --name tester weaveworks/flagger-loadtester:$(LT_VERSION) loadtester-push: + GO111MODULE=on CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o ./bin/loadtester ./cmd/loadtester/* docker build -t weaveworks/flagger-loadtester:$(LT_VERSION) . -f Dockerfile.loadtester docker push weaveworks/flagger-loadtester:$(LT_VERSION) diff --git a/hack/update-codegen.sh b/hack/update-codegen.sh index 9f6d0a9c..b32b7bed 100755 --- a/hack/update-codegen.sh +++ b/hack/update-codegen.sh @@ -1,25 +1,11 @@ #!/usr/bin/env bash -# Copyright 2018 The Authors. -# -# 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. - set -o errexit set -o nounset set -o pipefail SCRIPT_ROOT=$(dirname ${BASH_SOURCE})/.. -CODEGEN_PKG=${CODEGEN_PKG:-$(cd ${SCRIPT_ROOT}; ls -d -1 ./vendor/k8s.io/code-generator 2>/dev/null || echo ../code-generator)} +CODEGEN_PKG=${CODEGEN_PKG:-$(echo `go env GOPATH`'/pkg/mod/k8s.io/code-generator@v0.0.0-20190531131525-17d711082421')} chmod +x ${CODEGEN_PKG}/generate-groups.sh