hy-app-monitor/testbox/scripts/build-images.sh
2026-05-05 20:16:31 +08:00

44 lines
1.7 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
cd "$ROOT_DIR"
env_value() {
python3 "$ROOT_DIR/scripts/env-value.py" "$ROOT_DIR/.env" "$1" "${2:-}"
}
JAVA_SOURCE_DIR="${JAVA_SOURCE_DIR:-$(env_value JAVA_SOURCE_DIR "$ROOT_DIR/sources/chatapp3-java")}"
ADMIN_SOURCE_DIR="${ADMIN_SOURCE_DIR:-$(env_value ADMIN_SOURCE_DIR "$ROOT_DIR/sources/chatapp3-admin")}"
TESTBOX_ADMIN_API_BASE_URL="${TESTBOX_ADMIN_API_BASE_URL:-$(env_value TESTBOX_ADMIN_API_BASE_URL "https://yumi-test-admin.haiyihy.com/console")}"
TESTBOX_ADMIN_OSS_URL="${TESTBOX_ADMIN_OSS_URL:-$(env_value TESTBOX_ADMIN_OSS_URL "")}"
if [ ! -d "$JAVA_SOURCE_DIR" ]; then
echo "missing JAVA_SOURCE_DIR: $JAVA_SOURCE_DIR" >&2
exit 1
fi
if [ ! -d "$ADMIN_SOURCE_DIR" ]; then
echo "missing ADMIN_SOURCE_DIR: $ADMIN_SOURCE_DIR" >&2
exit 1
fi
cd "$JAVA_SOURCE_DIR"
if [ -x ./ci/install-private-maven.sh ]; then
./ci/install-private-maven.sh
fi
JAVA_MODULES="rc-auth,rc-gateway,rc-service/rc-service-external/external-start,rc-service/rc-service-console/console-start,rc-service/rc-service-other/other-start,rc-service/rc-service-live/live-start,rc-service/rc-service-wallet/wallet-start,rc-service/rc-service-order/order-start"
mvn -Ptest -T 1C -pl "$JAVA_MODULES" -am -Dmaven.test.skip=true package
cd "$ROOT_DIR"
docker compose --env-file .env -f docker-compose.infra.yml -f docker-compose.apps.yml build \
auth gateway external console other live wallet order golang chatapp-cron
docker build \
-f "$ROOT_DIR/docker/chatapp3-admin.Dockerfile" \
--build-arg "ADMIN_API_BASE_URL=$TESTBOX_ADMIN_API_BASE_URL" \
--build-arg "ADMIN_OSS_URL=$TESTBOX_ADMIN_OSS_URL" \
-t chatapp-test/admin:testbox \
"$ADMIN_SOURCE_DIR"