From f695a81c46b1e61421d87e0504543419360d06f7 Mon Sep 17 00:00:00 2001 From: Ta-Ching Chen Date: Tue, 13 Feb 2018 07:42:23 +0800 Subject: [PATCH] Improve release script (#494) * Add step for releasing environment builder image * Strip $GOPATH from strack trace --- builder/cmd/build.sh | 2 +- environments/fetcher/cmd/build.sh | 2 +- environments/go/builder/Dockerfile | 1 - fission-bundle/build.sh | 2 +- hack/release.sh | 39 +++++++++++++++++++++++++++++- 5 files changed, 41 insertions(+), 5 deletions(-) diff --git a/builder/cmd/build.sh b/builder/cmd/build.sh index e6e3cfb0..668ffa8c 100755 --- a/builder/cmd/build.sh +++ b/builder/cmd/build.sh @@ -1,3 +1,3 @@ #!/bin/bash -CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o builder . +CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -gcflags=-trimpath=$GOPATH -asmflags=-trimpath=$GOPATH -o builder . diff --git a/environments/fetcher/cmd/build.sh b/environments/fetcher/cmd/build.sh index 813975e0..dcbf965a 100755 --- a/environments/fetcher/cmd/build.sh +++ b/environments/fetcher/cmd/build.sh @@ -1,2 +1,2 @@ #!/bin/sh -CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o fetcher . +CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -gcflags=-trimpath=$GOPATH -asmflags=-trimpath=$GOPATH -o fetcher . diff --git a/environments/go/builder/Dockerfile b/environments/go/builder/Dockerfile index 45f19c37..0b87e99d 100644 --- a/environments/go/builder/Dockerfile +++ b/environments/go/builder/Dockerfile @@ -8,7 +8,6 @@ FROM golang:${GO_VERSION} COPY --from=0 /builder /builder ENV GOPATH /usr -RUN go get github.com/fission/fission ADD build.sh /usr/local/bin/build diff --git a/fission-bundle/build.sh b/fission-bundle/build.sh index eb2398a8..d57ae411 100755 --- a/fission-bundle/build.sh +++ b/fission-bundle/build.sh @@ -1,2 +1,2 @@ #!/bin/sh -CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build +CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -gcflags=-trimpath=$GOPATH -asmflags=-trimpath=$GOPATH diff --git a/hack/release.sh b/hack/release.sh index 7d692d03..67751e02 100755 --- a/hack/release.sh +++ b/hack/release.sh @@ -48,7 +48,7 @@ build_cli() { binary=fission-cli-${osName} fi - GOOS=$os GOARCH=$arch go build -o $binary . + GOOS=$os GOARCH=$arch go build -gcflags=-trimpath=$GOPATH -asmflags=-trimpath=$GOPATH -o $binary . outdir=$BUILDDIR/cli/$osName/ mkdir -p $outdir @@ -183,6 +183,42 @@ build_and_push_all_envs() { build_and_push_env_image "$version" "ruby" "ruby-env" "" } +build_and_push_env_builder_image() { + version=$1 + envdir=$2 + imgnamebase=$3 + imgvariant=$4 + + if [ -z "$imgvariant" ] + then + # no variant specified, just use the base name + imgname=$imgnamebase + dockerfile="Dockerfile" + else + # variant specified - append variant to image name and assume dockerfile + # exists with same suffix (e.g. image node-env-debian built from Dockerfile-debian) + imgname="$imgname-$imgvariant" + dockerfile="Dockerfile-$imgvariant" + fi + echo "Building $envdir -> $imgname:$version using $dockerfile" + + pushd $DIR/environments/$envdir/builder + docker build -t fission/$imgname:$version -f $dockerfile . + docker tag fission/$imgname:$version fission/$imgname:latest + docker push fission/$imgname:$version + docker push fission/$imgname:latest + popd +} + +build_and_push_all_env_builders() { + version=$1 + + # call with version, env dir, image name base, image name variant + build_and_push_env_builder_image "$version" "python" "python-builder" "" + build_and_push_env_builder_image "$version" "binary" "binary-builder" "" + build_and_push_env_builder_image "$version" "go" "go-builder" "" +} + build_charts() { version=$1 mkdir -p $BUILDDIR/charts @@ -352,6 +388,7 @@ check_clean build_all $version push_all $version build_and_push_all_envs $version +build_and_push_all_env_builders $version build_charts $version tag_and_release $version