#!/bin/bash set +e usage(){ echo "Usage: builder <golang image:version> <code path> <code release tag> <main.go path> <binary name>" echo "e.g: builder golang:1.14.7 github.com/helm/chartmuseum v0.12.0 cmd/chartmuseum chartm" exit 1 } if [ $# != 5 ]; then usage fi GOLANG_IMAGE="$1" GIT_PATH="$2" CODE_VERSION="$3" MAIN_GO_PATH="$4" BIN_NAME="$5" set -e cd `dirname $0` cur=$PWD mkdir -p binary rm -rf binary/$BIN_NAME || true cp compile.sh binary/ cp *.patch binary/ docker run -it --rm -v $cur/binary:/go/bin --name golang_code_builder $GOLANG_IMAGE /bin/bash /go/bin/compile.sh $GIT_PATH $CODE_VERSION $MAIN_GO_PATH $BIN_NAME #Clear #docker rm -f golang_code_builder