初始化蓝鸟文件快递柜源码与部署文档
This commit is contained in:
commit
5643d22242
70 files changed
+18669
No files matched your search
Executable
+33
@@ -0,0 +1,33 @@
|
||||
#!/bin/sh
|
||||
set -eu
|
||||
project_root=$(CDPATH= cd -- "$(dirname -- "$0")/.." && pwd)
|
||||
cd "$project_root"
|
||||
build_mode=${1:-build}
|
||||
case "$build_mode" in build|release|web) ;; *) echo 'Usage: scripts/build.sh [build|release|web] [all|amd64|arm64]' >&2; exit 2;; esac
|
||||
release_target=${2:-all}
|
||||
case "$release_target" in all) release_arches='amd64 arm64' ;; amd64|arm64) release_arches=$release_target ;; *) echo 'Release architecture must be all, amd64 or arm64' >&2; exit 2 ;; esac
|
||||
npm --prefix web ci
|
||||
npm --prefix web run build
|
||||
touch internal/web/dist/.gitkeep
|
||||
if [ "$build_mode" = web ]; then exit 0; fi
|
||||
node scripts/notices.mjs
|
||||
mkdir -p build
|
||||
if [ "$build_mode" = build ]; then
|
||||
CGO_ENABLED=0 go build -trimpath -ldflags='-s -w' -o build/bluebird ./cmd/bluebird
|
||||
exit 0
|
||||
fi
|
||||
for build_arch in $release_arches; do
|
||||
build_dir="build/linux-$build_arch"
|
||||
rm -rf -- "$build_dir"
|
||||
mkdir -p "$build_dir"
|
||||
CGO_ENABLED=0 GOOS=linux GOARCH="$build_arch" go build -trimpath -ldflags='-s -w' -o "$build_dir/bluebird" ./cmd/bluebird
|
||||
cp deploy/config.example.toml "$build_dir/config.toml"
|
||||
cp deploy/install.sh "$build_dir/install.sh"
|
||||
cp deploy/upgrade.sh "$build_dir/upgrade.sh"
|
||||
printf '%s\n' "$build_arch" > "$build_dir/ARCH"
|
||||
cp -R deploy docs "$build_dir/"
|
||||
cp README.md THIRD_PARTY_NOTICES.txt "$build_dir/"
|
||||
tar -czf "build/bluebird-linux-$build_arch.tar.gz" -C "$build_dir" .
|
||||
done
|
||||
if [ "$release_target" != arm64 ]; then cp build/linux-amd64/bluebird build/bluebird; fi
|
||||
(cd build && sha256sum bluebird-linux-*.tar.gz > SHA256SUMS)
|
||||
Reference in new issue
Block a user