Allow to build single binary in release mode
parent
f54656ccd4
commit
942da9d269
|
@ -5,9 +5,9 @@ ARG ARCH="amd64"
|
|||
|
||||
WORKDIR /go/src/app
|
||||
COPY go.mod go.sum Makefile ./
|
||||
RUN make deps
|
||||
RUN go mod download
|
||||
COPY . .
|
||||
RUN make release
|
||||
RUN SINGLE_TARGET=true make release
|
||||
|
||||
FROM alpine:3.13
|
||||
|
||||
|
|
2
Makefile
2
Makefile
|
@ -21,7 +21,7 @@ all: fmt lint test build
|
|||
|
||||
.PHONY: build
|
||||
build:
|
||||
ENV=dev ./scripts/build.sh
|
||||
SINGLE_TARGET=true ./scripts/build.sh
|
||||
|
||||
.PHONY: release
|
||||
release:
|
||||
|
|
|
@ -10,37 +10,36 @@ if ! which goreleaser >/dev/null; then
|
|||
go install github.com/goreleaser/goreleaser@v0.173.2
|
||||
fi
|
||||
|
||||
if [ -z $ENV ]; then
|
||||
echo "Error: ENV variable must be defined"
|
||||
exit 1
|
||||
fi
|
||||
export ENV="${ENV:-dev}"
|
||||
SINGLE_TARGET="${SINGLE_TARGET:-false}"
|
||||
|
||||
# Check configuration
|
||||
goreleaser check
|
||||
|
||||
if [ "$ENV" == "dev" ]; then
|
||||
echo "+ Building using goreleaser ..."
|
||||
goreleaser build \
|
||||
--rm-dist \
|
||||
--parallelism 2 \
|
||||
--snapshot \
|
||||
--single-target
|
||||
exit 0
|
||||
fi
|
||||
FLAGS=""
|
||||
FLAGS+="--rm-dist "
|
||||
FLAGS+="--snapshot "
|
||||
FLAGS+="--parallelism 2 "
|
||||
|
||||
GRFLAGS=""
|
||||
CMD="release"
|
||||
|
||||
if [ "$SINGLE_TARGET" == "true" ]; then
|
||||
CMD="build"
|
||||
FLAGS+="--single-target "
|
||||
fi
|
||||
|
||||
# Only CI system should publish artifacts
|
||||
# We may not want to sign artifacts in dev environments
|
||||
if [ "$CI" != true ]; then
|
||||
GRFLAGS+="--snapshot "
|
||||
GRFLAGS+="--skip-announce "
|
||||
GRFLAGS+="--skip-publish "
|
||||
GRFLAGS+="--skip-sign "
|
||||
if [ "$CI" != true ] && [ "$CMD" == "release" ]; then
|
||||
FLAGS+="--skip-announce "
|
||||
FLAGS+="--skip-publish "
|
||||
FLAGS+="--skip-sign "
|
||||
fi
|
||||
|
||||
echo "+ Building using goreleaser ..."
|
||||
goreleaser release \
|
||||
--rm-dist \
|
||||
--parallelism 2 \
|
||||
${GRFLAGS}
|
||||
CMD="goreleaser ${CMD} ${FLAGS}"
|
||||
|
||||
echo "+ Building using goreleaser"
|
||||
echo "+ ENV=${ENV}"
|
||||
echo "+ CMD=${CMD}"
|
||||
|
||||
$CMD
|
||||
|
|
Loading…
Reference in New Issue