mirror of
https://github.com/cnrancher/kube-explorer.git
synced 2025-08-04 08:09:27 +00:00
- Support embed api-ui resources - The ui-path arg will be applied if provided. Also applied to api-ui resource files
83 lines
2.7 KiB
Bash
Executable File
83 lines
2.7 KiB
Bash
Executable File
#!/bin/bash
|
|
set -e
|
|
|
|
source "$(dirname $0)/version"
|
|
cd "$(dirname $0)/.."
|
|
|
|
rm -rf ./bin/* ./dist/*
|
|
|
|
OS_ARCH_ARG_LINUX="amd64 arm arm64"
|
|
OS_ARCH_ARG_DARWIN="amd64 arm64"
|
|
OS_ARCH_ARG_WINDOWS="amd64"
|
|
|
|
LD_INJECT_VALUES="-X github.com/cnrancher/kube-explorer/internal/version.Version=$VERSION
|
|
-X github.com/cnrancher/kube-explorer/internal/version.GitCommit=$COMMIT
|
|
-X github.com/cnrancher/kube-explorer/internal/config.APIUIVersion=$CATTLE_API_UI_VERSION"
|
|
|
|
[ "$(uname)" != "Darwin" ] && LINKFLAGS="-extldflags -static -s"
|
|
|
|
case "$CROSS" in
|
|
"push")
|
|
for ARCH in ${OS_ARCH_ARG_LINUX}; do
|
|
OUTPUT_BIN="bin/kube-explorer-linux-$ARCH"
|
|
echo "Building binary for linux/$ARCH..."
|
|
GOARCH=$ARCH GOOS=linux CGO_ENABLED=0 go build -tags embed \
|
|
-ldflags \
|
|
"$LD_INJECT_VALUES $LINKFLAGS" \
|
|
-o ${OUTPUT_BIN}
|
|
done
|
|
;;
|
|
"tag")
|
|
for ARCH in ${OS_ARCH_ARG_LINUX}; do
|
|
OUTPUT_BIN="bin/kube-explorer-linux-$ARCH"
|
|
echo "Building binary for linux/$ARCH..."
|
|
GOARCH=$ARCH GOOS=linux CGO_ENABLED=0 go build -tags embed \
|
|
-ldflags \
|
|
"$LD_INJECT_VALUES $LINKFLAGS" \
|
|
-o ${OUTPUT_BIN}
|
|
done
|
|
|
|
for ARCH in ${OS_ARCH_ARG_DARWIN}; do
|
|
OUTPUT_BIN="bin/kube-explorer-darwin-$ARCH"
|
|
echo "Building binary for darwin/$ARCH..."
|
|
GOARCH=$ARCH GOOS=darwin CGO_ENABLED=0 go build -tags embed \
|
|
-ldflags \
|
|
"$LD_INJECT_VALUES" \
|
|
-o ${OUTPUT_BIN}
|
|
done
|
|
|
|
for ARCH in ${OS_ARCH_ARG_WINDOWS}; do
|
|
OUTPUT_BIN="bin/kube-explorer-windows-$ARCH.exe"
|
|
echo "Building binary for windows/$ARCH..."
|
|
GOARCH=$ARCH GOOS=windows CGO_ENABLED=0 go build -tags embed \
|
|
-ldflags \
|
|
"$LD_INJECT_VALUES" \
|
|
-o ${OUTPUT_BIN}
|
|
done
|
|
;;
|
|
*)
|
|
# only build one for current platform
|
|
CGO_ENABLED=0 go build -tags embed \
|
|
-ldflags \
|
|
"$LD_INJECT_VALUES $LINKFLAGS" \
|
|
-o "bin/kube-explorer-$(uname | tr '[:upper:]' '[:lower:]')-${ARCH}"
|
|
;;
|
|
esac
|
|
|
|
mkdir -p "./bin"
|
|
mkdir -p "./dist"
|
|
|
|
for f in ./bin/*; do
|
|
filename=$(basename "$f")
|
|
if [[ $filename != *darwin* && -z "$SKIP_COMPRESS" ]]; then
|
|
if upx -o "./dist/$filename" "$f"; then
|
|
echo "UPX done for $filename!"
|
|
else
|
|
echo "UPX failed for $filename, copying original file."
|
|
cp "$f" "./dist/$filename"
|
|
fi
|
|
else
|
|
cp "$f" "./dist/$filename"
|
|
fi
|
|
done
|