如何将应用程序包 (.aab) 上传到我的私有 Nexus 存储库?

How to upload an app bundle (.aab) onto my private Nexus repository?

我有一个 GitLab CI 管道,它构建一个 Ionic 应用程序,然后将其上传到我的 Nexus Maven 存储库。我生成了一个 apk 文件和一个 aab 文件,并通过 cURL 上传。然而,即使 APK 文件被正确推送到 repo,AAB 文件也无处可寻。

.gitlab-ci.yml 文件:

build-apk:
  stage: build
  tags: [docker]
  script:
    - rm package-lock.json
    - npm install -g ionic@5.4.15 cordova@9.0.0
    - npm run build:android:$STAGE
    - cd platforms/android
    - ./gradlew bundleRelease
    - cd ../..
    - echo $ANDROID_DEBUG_KEYSTORE | base64 --decode > key.keystore
    - mv platforms/android/app/build/outputs/apk/release/app-release-unsigned.apk app-release.apk
    - mv platforms/android/app/build/outputs/bundle/release/app.aab $CI_PROJECT_NAME.aab
    - jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore key.keystore -storepass "$ANDROID_DEBUG_PASSPHRASE" app-release.apk <keyName>
    - jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore key.keystore -storepass "$ANDROID_DEBUG_PASSPHRASE" $CI_PROJECT_NAME.aab <keyName>
    - $ANDROID_SDK_ROOT/build-tools/30.0.2/zipalign 4 app-release.apk $CI_PROJECT_NAME.apk

deploy-mobile:
  stage: deploy
  tags: [shell]
  cache: {}
  script:
    - curl -u $NEXUS_USER:$NEXUS_PWD -v --upload-file $CI_PROJECT_NAME.aab $NEXUS_MAVEN/$CI_PROJECT_NAME/$CI_PROJECT_NAME-$TAG.aab
    - curl -u $NEXUS_USER:$NEXUS_PWD -v --upload-file $CI_PROJECT_NAME.apk $NEXUS_MAVEN/$CI_PROJECT_NAME/$CI_PROJECT_NAME-$TAG.apk
  dependencies:
    - build-apk

当我比较这两个命令的日志时,我看到的唯一区别是 aab 上传的 HTTP 答案是 400 错误请求(apk 上传以 201 创建).

是否有任何缺失的信息我应该添加到我的 cURL 命令以便上传 aab 文件?我必须使用 Maven 命令来上传 aab 文件吗?

问题出在我的存储库配置中,因为它不允许上传不符合 MIME 要求的文件。取消选中该选项导致上传成功。
下一步是弄清楚我的 NXRM 版本是否可以添加 support for custom MIME 类型,因为禁用对存储库中存在的所有文件的验证感觉不对。