我有一个GitLab CI管道,它构建一个Ionic应用程序,然后将它上传到我的Nexus存储库。我生成一个apk和一个aab文件,我通过cURL上传。然而,即使APK文件被正确地推送到回购,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
当我比较这两个命令的日志时,我看到的唯一不同是,HTTP应答是400坏请求,用于aab上载( apk上载以201创建的结束)。
是否有任何缺失的信息,我应该添加到我的cURL命令,以便aab文件上传?我必须使用Maven命令上传aab文件吗?
发布于 2021-02-01 15:26:13
问题来自于我的存储库的配置,因为它不允许上传不符合MIME要求的文件。取消选中该选项将导致上传成功。
下一步是弄清楚我的NXRM版本是否可以添加支持自定义MIME类型,因为禁用存储库中所有文件的验证是不正确的。
https://stackoverflow.com/questions/65953074
复制相似问题