This commit is contained in:
@@ -75,13 +75,24 @@ JAR="$ROOT/backend/target/finance-system-$VERSION.jar"
|
||||
JAR_METADATA_DIR="$WORK/jar-metadata"
|
||||
mkdir -p "$JAR_METADATA_DIR"
|
||||
(cd "$JAR_METADATA_DIR" && jar -xf "$JAR" \
|
||||
META-INF/MANIFEST.MF META-INF/maven/com.kaidi/finance-system/pom.properties)
|
||||
META-INF/MANIFEST.MF META-INF/maven/com.kaidi/finance-system/pom.properties \
|
||||
BOOT-INF/classes/application.yml BOOT-INF/classes/application-local.yml \
|
||||
BOOT-INF/classes/application-production.yml)
|
||||
JAR_POM_VERSION=$(sed -n 's/^version=//p' \
|
||||
"$JAR_METADATA_DIR/META-INF/maven/com.kaidi/finance-system/pom.properties")
|
||||
JAR_IMPLEMENTATION_VERSION=$(sed -n 's/^Implementation-Version: //p' \
|
||||
"$JAR_METADATA_DIR/META-INF/MANIFEST.MF" | tr -d '\r')
|
||||
[ "$JAR_POM_VERSION" = "$VERSION" ] && [ "$JAR_IMPLEMENTATION_VERSION" = "$VERSION" ] \
|
||||
|| { printf 'JAR metadata versions do not match release %s\n' "$VERSION" >&2; exit 1; }
|
||||
grep -Fq 'default: production' "$JAR_METADATA_DIR/BOOT-INF/classes/application.yml" \
|
||||
|| { printf 'Release JAR must default to the production profile\n' >&2; exit 1; }
|
||||
if grep -Eq '127\.0\.0\.1:3307|kaidi_local_2026' \
|
||||
"$JAR_METADATA_DIR/BOOT-INF/classes/application.yml" \
|
||||
"$JAR_METADATA_DIR/BOOT-INF/classes/application-local.yml" \
|
||||
"$JAR_METADATA_DIR/BOOT-INF/classes/application-production.yml"; then
|
||||
printf 'Release JAR contains a development database fallback\n' >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
rm -rf "$OUTPUT_DIR"
|
||||
mkdir -p "$OUTPUT_DIR"
|
||||
@@ -102,6 +113,15 @@ cp "$ROOT/deploy/systemd/kaidi-update.service" "$STAGE/ops/kaidi-update.service"
|
||||
cp "$ROOT/deploy/systemd/kaidi-update.path" "$STAGE/ops/kaidi-update.path"
|
||||
chmod 0755 "$STAGE/ops/update.sh" "$STAGE/ops/baota-start.sh" "$STAGE/ops/baota-init.sh"
|
||||
|
||||
if find "$STAGE" -type l -print -quit | grep -q .; then
|
||||
printf 'Release stage contains a symbolic link\n' >&2
|
||||
exit 1
|
||||
fi
|
||||
if find "$STAGE" -type f -print | grep -Eq '(^|/)(\.DS_Store|__MACOSX|[^/]*\._[^/]*)$'; then
|
||||
printf 'Release stage contains macOS metadata\n' >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
ARTIFACT="kaidi-finance-$VERSION.tar.gz"
|
||||
COPYFILE_DISABLE=1 tar --format=ustar -czf "$OUTPUT_DIR/$ARTIFACT" -C "$STAGE" .
|
||||
SHA256=$(sha256_file "$OUTPUT_DIR/$ARTIFACT")
|
||||
|
||||
Reference in New Issue
Block a user