适配部署压缩包目录结构

This commit is contained in:
wkc
2026-04-01 11:00:36 +08:00
parent 9b35d04e50
commit f874e2d942
3 changed files with 47 additions and 11 deletions

View File

@@ -78,26 +78,26 @@ extract_release_package() {
assert_single_jar() {
search_dir="$1"
count=$(find "$search_dir" -type f -name '*.jar' | wc -l | tr -d ' ')
count=$(find "$search_dir" -type f -name '*.jar' ! -path '*/__MACOSX/*' ! -name '._*' | wc -l | tr -d ' ')
if [ "$count" -ne 1 ]; then
log_error "后端 jar 数量不正确,期望 1 个,实际 $count"
exit 1
fi
find "$search_dir" -type f -name '*.jar' | head -n 1
find "$search_dir" -type f -name '*.jar' ! -path '*/__MACOSX/*' ! -name '._*' | head -n 1
}
assert_single_dist_zip() {
search_dir="$1"
count=$(find "$search_dir" -type f -name 'dist.zip' | wc -l | tr -d ' ')
count=$(find "$search_dir" -type f -name 'dist.zip' ! -path '*/__MACOSX/*' ! -name '._*' | wc -l | tr -d ' ')
if [ "$count" -ne 1 ]; then
log_error "前端 dist.zip 数量不正确,期望 1 个,实际 $count"
exit 1
fi
find "$search_dir" -type f -name 'dist.zip' | head -n 1
find "$search_dir" -type f -name 'dist.zip' ! -path '*/__MACOSX/*' ! -name '._*' | head -n 1
}
backup_backend_jar() {

View File

@@ -55,18 +55,21 @@ EOF
create_release_zip() {
release_dir="$1"
release_zip_name="$2"
jar_name="$3"
mkdir -p "$release_dir/package/frontend_payload/dist"
printf 'new-jar\n' > "$release_dir/package/$jar_name"
mkdir -p "$release_dir/package/deploy" "$release_dir/package/__MACOSX/deploy"
mkdir -p "$release_dir/package/frontend_payload/dist" "$release_dir/package/frontend_payload/__MACOSX/dist"
printf 'new-jar\n' > "$release_dir/package/deploy/ruoyi-admin.jar"
printf 'macos-meta\n' > "$release_dir/package/__MACOSX/deploy/._ruoyi-admin.jar"
printf '<html>new</html>\n' > "$release_dir/package/frontend_payload/dist/index.html"
printf 'macos-meta\n' > "$release_dir/package/frontend_payload/__MACOSX/dist/._index.html"
(
cd "$release_dir/package/frontend_payload"
zip -qr "$release_dir/package/dist.zip" dist
zip -qr "$release_dir/package/dist.zip" dist __MACOSX
)
mv "$release_dir/package/dist.zip" "$release_dir/package/deploy/dist.zip"
(
cd "$release_dir/package"
zip -qr "$release_dir/$release_zip_name" "$jar_name" dist.zip
zip -qr "$release_dir/$release_zip_name" deploy __MACOSX
)
}
@@ -91,7 +94,7 @@ prepare_release_dir() {
printf '<html>old</html>\n' > "$release_dir/frontend/dist/index.html"
create_fake_java "$release_dir/fake-java-bin/java"
create_release_zip "$release_dir" "loan-pricing-release.zip" "app.jar"
create_release_zip "$release_dir" "deploy.zip"
cp "$SCRIPT_UNDER_TEST" "$release_dir/deploy_from_package.sh"
perl -0pi -e "s#JAVA_BIN=\"/home/webapp/env/java/bin/java\"#JAVA_BIN=\"$release_dir/fake-java-bin/java\"#" \
"$release_dir/deploy_from_package.sh"
@@ -151,7 +154,7 @@ test_multiple_release_zip_should_fail() {
trap 'cleanup_release_dir "$release_dir"' EXIT INT TERM
prepare_release_dir "$release_dir" "$backend_port"
cp "$release_dir/loan-pricing-release.zip" "$release_dir/loan-pricing-release-copy.zip"
cp "$release_dir/deploy.zip" "$release_dir/deploy-copy.zip"
if (
cd "$release_dir"