如何解决如何将应用程序包 (.aab) 上传到我的私有 Nexus 存储库?
我有一个 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 Created 结束) >).
是否有任何缺失的信息我应该添加到我的 cURL 命令中以便上传 aab 文件?我必须使用 Maven 命令上传 aab 文件吗?
解决方法
问题来自我的存储库配置,因为它不允许上传不符合 MIME 要求的文件。取消选中该选项会导致上传成功。
下一步是弄清楚我的 NXRM 版本是否可以添加 support for custom MIME 类型,因为禁用对存储库中存在的所有文件的验证是不正确的。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。