diff --git a/Makefile b/Makefile
index d83ed4c22158182ec74d1b5c839cb1c3a6026d19..710df40f3734101b56061cd3d423612d7c159cfa 100644
--- a/Makefile
+++ b/Makefile
@@ -27,13 +27,6 @@ build: golang
 	@mkdir -p bin
 	go build -ldflags "${LFLAGS}" -o bin/${NAME}
 
-release: clean golang
-	mkdir -p release
-	$(foreach GOOS, $(PLATFORMS),\
-	$(foreach GOARCH, $(ARCHITECTURES), $(shell [ $(GOOS) = "windows" ]  && EXT=".exe"; env GOOS=$(GOOS) GOARCH=$(GOARCH) CGO_ENABLED=0 go build -a -tags netgo -ldflags "-w ${LFLAGS}" -o bin/${NAME}$$EXT; \
-	tar -czvf release/${NAME}-$(GOOS)-$(GOARCH).tar.gz -C bin/ ${NAME}$$EXT >/dev/null; \
-  sha1sum release/${NAME}-$(GOOS)-$(GOARCH).tar.gz | cut -d " " -f1 > release/${NAME}-$(GOOS)-$(GOARCH).tar.gz.sha1 )))
-
 static: golang
 	@echo "--> Compiling the static binary"
 	@mkdir -p bin
diff --git a/release.sh b/release.sh
index c7960eba3aad41d14cde182566c5f9aa2680d6c5..28a6e2577b02a3832666c2e5cea8d9a2d87d6af0 100755
--- a/release.sh
+++ b/release.sh
@@ -1,4 +1,10 @@
 #!/bin/bash -e
+NAME="keycloak-gatekeeper"
+PLATFORMS="darwin linux windows"
+ARCHITECTURES="amd64"
+GIT_SHA=$(git --no-pager describe --always --dirty)
+BUILD_TIME=$(date '+%s')
+LFLAGS="-X main.gitsha=$GIT_SHA -X main.compiled=$BUILD_TIME"
 
 DIR="$PWD"
 VERSION=`./get-version.sh`
@@ -6,12 +12,38 @@ echo "Version: $VERSION"
 
 TMP=`mktemp -d`
 
+# Perform some clean up before building it
+clean() {
+  rm -rf ./bin/* 2>/dev/null
+  rm -rf ./release/* 2>/dev/null
+}
+
+release() {
+  mkdir -p release
+  for PLATFORM in $PLATFORMS; do
+    EXT=""
+    if [ "$PLATFORM" == "windows" ]; then
+      EXT=".exe"
+    fi
+    for ARCH in $ARCHITECTURES; do
+      env GOOS=$PLATFORM GOARCH=$ARCH CGO_ENABLED=0 go build -a -tags netgo -ldflags " -w $LFLAGS" -o bin/$NAME$EXT
+      tar -czvf release/"$NAME-$PLATFORM-$ARCH".tar.gz -C bin/ $NAME$EXT >/dev/null
+      sha1sum release/"$NAME-$PLATFORM-$ARCH".tar.gz | cut -d " " -f1 > release/"$NAME-$GOOS-$GOARCH".tar.gz.sha1
+      # Test if tar file is not corrupted
+      if ! tar -tf release/"$NAME-$PLATFORM-$ARCH".tar.gz &>/dev/null;then 
+        echo "Corrupted tar file"
+        exit 1
+      fi
+    done
+  done
+}
+
 echo "------------------------------------------------------------------------------------------------------------"
-echo "Building:"
+echo "Building: $NAME-$VERSION"
 echo ""
 
-make release
-
+clean
+release
 
 echo "------------------------------------------------------------------------------------------------------------"
 echo "Upload to jboss.org:"