Files
waf-platform/deploy/build-amzn2023.sh
2026-03-22 17:37:40 +08:00

76 lines
2.2 KiB
Bash

#!/usr/bin/env bash
# 在 AWS (Amazon Linux) Docker 容器中执行
# 一键构建 edge-node、edge-dns、edge-httpdns 的 amzn2023 版本
set -e
ROOT=$(cd "$(dirname "$0")/.." && pwd)
# 从 const.go 提取版本号
lookup_version() {
local file=$1
local re='Version[ ]+=[ ]+"([0-9.]+)"'
local data=$(cat "$file")
if [[ $data =~ $re ]]; then
echo "${BASH_REMATCH[1]}"
else
echo "error: cannot extract version from $file" >&2
exit 1
fi
}
echo "==============================="
echo " Building amzn2023 packages"
echo "==============================="
# --- check & regenerate protobuf ---
echo ""
echo "[0/3] Checking protobuf tools ..."
for cmd in protoc protoc-gen-go protoc-gen-go-grpc; do
if ! command -v "$cmd" &>/dev/null; then
echo "error: $cmd not found in PATH" >&2
exit 1
fi
done
echo " regenerating protobuf files ..."
cd "$ROOT/EdgeCommon/build"
./build.sh
echo " protobuf files regenerated"
# --- edge-node ---
echo ""
echo "[1/3] Building edge-node ..."
cd "$ROOT/EdgeNode/build"
./build.sh linux amd64 plus
NODE_VER=$(lookup_version "$ROOT/EdgeNode/internal/const/const.go")
SRC="$ROOT/EdgeNode/dist/edge-node-linux-amd64-v${NODE_VER}.zip"
DST="$ROOT/EdgeNode/dist/edge-node-linux-amd64-amzn2023-v${NODE_VER}.zip"
cp "$SRC" "$DST"
echo "$DST"
# --- edge-dns ---
echo ""
echo "[2/3] Building edge-dns ..."
cd "$ROOT/EdgeDNS/build"
./build.sh linux amd64
DNS_VER=$(lookup_version "$ROOT/EdgeDNS/internal/const/const.go")
SRC="$ROOT/EdgeDNS/dist/edge-dns-linux-amd64-v${DNS_VER}.zip"
DST="$ROOT/EdgeDNS/dist/edge-dns-linux-amd64-amzn2023-v${DNS_VER}.zip"
cp "$SRC" "$DST"
echo "$DST"
# --- edge-httpdns ---
echo ""
echo "[3/3] Building edge-httpdns ..."
cd "$ROOT/EdgeHttpDNS/build"
./build.sh linux amd64
HTTPDNS_VER=$(lookup_version "$ROOT/EdgeHttpDNS/internal/const/const.go")
SRC="$ROOT/EdgeHttpDNS/dist/edge-httpdns-linux-amd64-v${HTTPDNS_VER}.zip"
DST="$ROOT/EdgeHttpDNS/dist/edge-httpdns-linux-amd64-amzn2023-v${HTTPDNS_VER}.zip"
cp "$SRC" "$DST"
echo "$DST"
echo ""
echo "==============================="
echo " All amzn2023 packages built!"
echo "==============================="