jFrog CLI和Gradle人工制品发布未生成Android人工制品(AAR)

时间:2020-10-30 10:53:43

标签: android gradle gitlab-ci artifactory jfrog-cli

我有一个GitLab CI / CD YAML脚本来测试Android库并将其部署到Artifactory(在我自己的服务器中),这很奇怪,因为长时间运行的同一脚本现在无法生成(因此无法部署)文物。

奇怪的是,GitLab CI / CD部署作业成功,它没有引发错误。

这是脚本的部署部分:

.install_gradle: &install_gradle |
  curl -L https://services.gradle.org/distributions/gradle-$GRADLE_VERSION-all.zip -o gradle.zip
  unzip -q gradle.zip
  export GRADLE_HOME=$(pwd)/gradle-$GRADLE_VERSION
  export PATH=${GRADLE_HOME}/bin:${PATH}
  echo $GRADLE_HOME
  echo $PATH
  gradle -v

.connect_artifactory: &connect_artifactory |
  curl -fL https://getcli.jfrog.io | sh -s v1.39.7
  ./jfrog rt config --url=$ARTIFACTORY_URL --user=$ARTIFACTORY_USER --password=$ARTIFACTORY_PASS
  ./jfrog rt c show


.upload_artifact: &upload_artifact |
  ./jfrog rt gradle-config --use-wrapper=true --repo-resolve=$GRADLE_REPO_KEY --server-id-resolve=Default-Server --repo-deploy=$GRADLE_REPO_KEY --server-id-deploy=Default-Server
  ./jfrog rt gradle clean artifactoryPublish -b build.gradle --build-name=$ARTIFACT_NAME --build-number=$CI_JOB_ID


# JOB:
publish:
  stage: deploy
  cache: {}
  script:
    # Download and Install Gradle
    - *install_gradle
    # Connect to JFrog Artifactory
    - *connect_artifactory
    # Replace the repository name in the configuration.yml to the correct one.
    - sed -i 's,GRADLE_REPO_KEY,'"$GRADLE_REPO_KEY"',g' configuration.yaml
    # Upload artifact to JFrog Artifactory
    - *upload_artifact

查找不生成工件并成功的GitLab CI / CD作业日志:

�[32;1m$ sed -i 's,GRADLE_REPO_KEY,'"$GRADLE_REPO_KEY"',g' configuration.yaml�[0;m
�[32;1m$ ./jfrog rt gradle-config --use-wrapper=true --repo-resolve=$GRADLE_REPO_KEY --server-id-resolve=Default-Server --repo-deploy=$GRADLE_REPO_KEY --server-id-deploy=Default-Server # collapsed multi-line command�[0;m
[Info] gradle build config successfully created.
[Info] Downloading bintray/jcenter/org/jfrog/buildinfo/build-info-extractor-gradle/4.18.0/build-info-extractor-gradle-4.18.0-uber.jar
[Info] Downloaded 1 artifact.
[Info] Running gradle command: ./gradlew --init-script /root/.jfrog/dependencies/gradle/4.18.0/gradle.init clean artifactoryPublish -b build.gradle
Downloading https://services.gradle.org/distributions/gradle-5.6.4-all.zip
.....................................................................................................................................
Unzipping /builds/sebasira/android-module-boilerplate/.gradle/wrapper/dists/gradle-5.6.4-all/ankdp27end7byghfw1q2sw75f/gradle-5.6.4-all.zip to /builds/sebasira/android-module-boilerplate/.gradle/wrapper/dists/gradle-5.6.4-all/ankdp27end7byghfw1q2sw75f
Set executable permissions for: /builds/sebasira/android-module-boilerplate/.gradle/wrapper/dists/gradle-5.6.4-all/ankdp27end7byghfw1q2sw75f/gradle-5.6.4/bin/gradle
To honour the JVM settings for this build a new JVM will be forked. Please consider using the daemon: https://docs.gradle.org/5.6.4/userguide/gradle_daemon.html.
Daemon will be stopped at the end of the build stopping after processing
> Task :clean UP-TO-DATE

> Task :app:externalNativeBuildCleanDebug
Compatible side by side NDK version was not found for android.ndkVersion '21.3.6528147'
Checking the license for package NDK (Side by side) 21.3.6528147 in /sdk/licenses
License for package NDK (Side by side) 21.3.6528147 accepted.
Preparing "Install NDK (Side by side) 21.3.6528147 (revision: 21.3.6528147)".
"Install NDK (Side by side) 21.3.6528147 (revision: 21.3.6528147)" ready.
Installing NDK (Side by side) 21.3.6528147 in /sdk/ndk/21.3.6528147
"Install NDK (Side by side) 21.3.6528147 (revision: 21.3.6528147)" complete.
"Install NDK (Side by side) 21.3.6528147 (revision: 21.3.6528147)" finished.
Checking the license for package CMake 3.6.4111459 in /sdk/licenses
License for package CMake 3.6.4111459 accepted.
Preparing "Install CMake 3.6.4111459 (revision: 3.6.4111459)".
"Install CMake 3.6.4111459 (revision: 3.6.4111459)" ready.
Installing CMake 3.6.4111459 in /sdk/cmake/3.6.4111459
"Install CMake 3.6.4111459 (revision: 3.6.4111459)" complete.
"Install CMake 3.6.4111459 (revision: 3.6.4111459)" finished.

> Task :app:externalNativeBuildCleanRelease
> Task :app:clean UP-TO-DATE
> Task :app:artifactoryPublish
> Task :artifactoryPublish
> Task :extractModuleInfo
> Task :app:extractModuleInfo
> Task :artifactoryDeploy

BUILD SUCCESSFUL in 2m 53s
9 actionable tasks: 7 executed, 2 up-to-date
section_end:1604009769:build_script
�[0Ksection_start:1604009769:after_script
�[0Ksection_end:1604009771:after_script
�[0Ksection_start:1604009771:archive_cache
�[0Ksection_end:1604009772:archive_cache
�[0Ksection_start:1604009772:upload_artifacts_on_success
�[0Ksection_end:1604009774:upload_artifacts_on_success
�[0K�[32;1mJob succeeded
�[0;m

这是4天前一切正常的时候

�[32;1m$ sed -i 's,GRADLE_REPO_KEY,'"$GRADLE_REPO_KEY"',g' configuration.yaml�[0;m
�[32;1m$ ./jfrog rt gradle-config --use-wrapper=true --repo-resolve=$GRADLE_REPO_KEY --server-id-resolve=Default-Server --repo-deploy=$GRADLE_REPO_KEY --server-id-deploy=Default-Server # collapsed multi-line command�[0;m
[Info] gradle build config successfully created.
[Info] Downloading bintray/jcenter/org/jfrog/buildinfo/build-info-extractor-gradle/4.15.2/build-info-extractor-gradle-4.15.2-uber.jar
[Info] Downloaded 1 artifact.
[Info] Running gradle command: ./gradlew --init-script /root/.jfrog/dependencies/gradle/4.15.2/gradle.init clean artifactoryPublish -b build.gradle
Downloading https://services.gradle.org/distributions/gradle-5.6.4-all.zip
.....................................................................................................................................
Unzipping /builds/sebasira/android-module-boilerplate/.gradle/wrapper/dists/gradle-5.6.4-all/ankdp27end7byghfw1q2sw75f/gradle-5.6.4-all.zip to /builds/sebasira/android-module-boilerplate/.gradle/wrapper/dists/gradle-5.6.4-all/ankdp27end7byghfw1q2sw75f
Set executable permissions for: /builds/sebasira/android-module-boilerplate/.gradle/wrapper/dists/gradle-5.6.4-all/ankdp27end7byghfw1q2sw75f/gradle-5.6.4/bin/gradle
To honour the JVM settings for this build a new JVM will be forked. Please consider using the daemon: https://docs.gradle.org/5.6.4/userguide/gradle_daemon.html.
Daemon will be stopped at the end of the build stopping after processing
Cannot publish pom for project ':app' since it does not contain the Maven plugin install task and task ':app:artifactoryPublish' does not specify a custom pom path.
No publish configurations specified for project ':' and the default 'archives' configuration does not exist.
Compatible side by side NDK version was not found for android.ndkVersion '21.3.6528147'
Checking the license for package NDK (Side by side) 21.3.6528147 in /sdk/licenses
License for package NDK (Side by side) 21.3.6528147 accepted.
Preparing "Install NDK (Side by side) 21.3.6528147 (revision: 21.3.6528147)".
"Install NDK (Side by side) 21.3.6528147 (revision: 21.3.6528147)" ready.
Installing NDK (Side by side) 21.3.6528147 in /sdk/ndk/21.3.6528147
"Install NDK (Side by side) 21.3.6528147 (revision: 21.3.6528147)" complete.
"Install NDK (Side by side) 21.3.6528147 (revision: 21.3.6528147)" finished.
Checking the license for package CMake 3.6.4111459 in /sdk/licenses
License for package CMake 3.6.4111459 accepted.
Preparing "Install CMake 3.6.4111459 (revision: 3.6.4111459)".
"Install CMake 3.6.4111459 (revision: 3.6.4111459)" ready.
Installing CMake 3.6.4111459 in /sdk/cmake/3.6.4111459
"Install CMake 3.6.4111459 (revision: 3.6.4111459)" complete.
"Install CMake 3.6.4111459 (revision: 3.6.4111459)" finished.
Checking the license for package Android SDK Build-Tools 28.0.3 in /sdk/licenses
License for package Android SDK Build-Tools 28.0.3 accepted.
Preparing "Install Android SDK Build-Tools 28.0.3 (revision: 28.0.3)".
"Install Android SDK Build-Tools 28.0.3 (revision: 28.0.3)" ready.
Installing Android SDK Build-Tools 28.0.3 in /sdk/build-tools/28.0.3
"Install Android SDK Build-Tools 28.0.3 (revision: 28.0.3)" complete.
"Install Android SDK Build-Tools 28.0.3 (revision: 28.0.3)" finished.
Checking the license for package Android SDK Platform 29 in /sdk/licenses
License for package Android SDK Platform 29 accepted.
Preparing "Install Android SDK Platform 29 (revision: 5)".
"Install Android SDK Platform 29 (revision: 5)" ready.
Installing Android SDK Platform 29 in /sdk/platforms/android-29
"Install Android SDK Platform 29 (revision: 5)" complete.
"Install Android SDK Platform 29 (revision: 5)" finished.
> Task :clean UP-TO-DATE
> Task :app:externalNativeBuildCleanDebug
> Task :app:externalNativeBuildCleanRelease
> Task :app:clean UP-TO-DATE
> Task :app:preBuild UP-TO-DATE
> Task :app:preReleaseBuild UP-TO-DATE
> Task :app:compileReleaseAidl NO-SOURCE
> Task :app:compileReleaseRenderscript NO-SOURCE
> Task :app:checkReleaseManifest
> Task :app:generateReleaseBuildConfig
> Task :app:generateReleaseResValues
> Task :app:generateReleaseResources
> Task :app:packageReleaseResources
> Task :app:parseReleaseLibraryResources
> Task :app:processReleaseManifest
> Task :app:generateReleaseRFile
> Task :app:javaPreCompileRelease

> Task :app:compileReleaseJavaWithJavac
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

> Task :app:extractReleaseAnnotations
> Task :app:mergeReleaseGeneratedProguardFiles
> Task :app:mergeReleaseConsumerProguardFiles
> Task :app:mergeReleaseShaders
> Task :app:compileReleaseShaders
> Task :app:generateReleaseAssets
> Task :app:packageReleaseAssets
> Task :app:packageReleaseRenderscript NO-SOURCE
> Task :app:prepareLintJarForPublish
> Task :app:processReleaseJavaRes NO-SOURCE
> Task :app:mergeReleaseJavaResource
> Task :app:transformClassesAndResourcesWithSyncLibJarsForRelease

> Task :app:generateJsonModelRelease
release|armeabi-v7a :-- Check for working C compiler: /sdk/ndk/21.3.6528147/toolchains/llvm/prebuilt/linux-x86_64/bin/clang
release|armeabi-v7a :-- Check for working C compiler: /sdk/ndk/21.3.6528147/toolchains/llvm/prebuilt/linux-x86_64/bin/clang -- works
release|armeabi-v7a :-- Detecting C compiler ABI info
release|armeabi-v7a :-- Detecting C compiler ABI info - done
release|armeabi-v7a :-- Detecting C compile features
release|armeabi-v7a :-- Detecting C compile features - done
release|armeabi-v7a :-- Check for working CXX compiler: /sdk/ndk/21.3.6528147/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++
release|armeabi-v7a :-- Check for working CXX compiler: /sdk/ndk/21.3.6528147/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ -- works
release|armeabi-v7a :-- Detecting CXX compiler ABI info
release|armeabi-v7a :-- Detecting CXX compiler ABI info - done
release|armeabi-v7a :-- Detecting CXX compile features
release|armeabi-v7a :-- Detecting CXX compile features - done
release|armeabi-v7a :-- Configuring done
release|armeabi-v7a :-- Generating done
release|armeabi-v7a :-- Build files have been written to: /builds/sebasira/android-module-boilerplate/app/.cxx/cmake/release/armeabi-v7a
release|arm64-v8a :-- Check for working C compiler: /sdk/ndk/21.3.6528147/toolchains/llvm/prebuilt/linux-x86_64/bin/clang
release|arm64-v8a :-- Check for working C compiler: /sdk/ndk/21.3.6528147/toolchains/llvm/prebuilt/linux-x86_64/bin/clang -- works
release|arm64-v8a :-- Detecting C compiler ABI info
release|arm64-v8a :-- Detecting C compiler ABI info - done
release|arm64-v8a :-- Detecting C compile features
release|arm64-v8a :-- Detecting C compile features - done
release|arm64-v8a :-- Check for working CXX compiler: /sdk/ndk/21.3.6528147/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++
release|arm64-v8a :-- Check for working CXX compiler: /sdk/ndk/21.3.6528147/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ -- works
release|arm64-v8a :-- Detecting CXX compiler ABI info
release|arm64-v8a :-- Detecting CXX compiler ABI info - done
release|arm64-v8a :-- Detecting CXX compile features
release|arm64-v8a :-- Detecting CXX compile features - done
release|arm64-v8a :-- Configuring done
release|arm64-v8a :-- Generating done
release|arm64-v8a :-- Build files have been written to: /builds/sebasira/android-module-boilerplate/app/.cxx/cmake/release/arm64-v8a
release|x86 :-- Check for working C compiler: /sdk/ndk/21.3.6528147/toolchains/llvm/prebuilt/linux-x86_64/bin/clang
release|x86 :-- Check for working C compiler: /sdk/ndk/21.3.6528147/toolchains/llvm/prebuilt/linux-x86_64/bin/clang -- works
release|x86 :-- Detecting C compiler ABI info
release|x86 :-- Detecting C compiler ABI info - done
release|x86 :-- Detecting C compile features
release|x86 :-- Detecting C compile features - done
release|x86 :-- Check for working CXX compiler: /sdk/ndk/21.3.6528147/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++
release|x86 :-- Check for working CXX compiler: /sdk/ndk/21.3.6528147/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ -- works
release|x86 :-- Detecting CXX compiler ABI info
release|x86 :-- Detecting CXX compiler ABI info - done
release|x86 :-- Detecting CXX compile features
release|x86 :-- Detecting CXX compile features - done
release|x86 :-- Configuring done
release|x86 :-- Generating done
release|x86 :-- Build files have been written to: /builds/sebasira/android-module-boilerplate/app/.cxx/cmake/release/x86
release|x86_64 :-- Check for working C compiler: /sdk/ndk/21.3.6528147/toolchains/llvm/prebuilt/linux-x86_64/bin/clang
release|x86_64 :-- Check for working C compiler: /sdk/ndk/21.3.6528147/toolchains/llvm/prebuilt/linux-x86_64/bin/clang -- works
release|x86_64 :-- Detecting C compiler ABI info
release|x86_64 :-- Detecting C compiler ABI info - done
release|x86_64 :-- Detecting C compile features
release|x86_64 :-- Detecting C compile features - done
release|x86_64 :-- Check for working CXX compiler: /sdk/ndk/21.3.6528147/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++
release|x86_64 :-- Check for working CXX compiler: /sdk/ndk/21.3.6528147/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ -- works
release|x86_64 :-- Detecting CXX compiler ABI info
release|x86_64 :-- Detecting CXX compiler ABI info - done
release|x86_64 :-- Detecting CXX compile features
release|x86_64 :-- Detecting CXX compile features - done
release|x86_64 :-- Configuring done
release|x86_64 :-- Generating done
release|x86_64 :-- Build files have been written to: /builds/sebasira/android-module-boilerplate/app/.cxx/cmake/release/x86_64

> Task :app:externalNativeBuildRelease
Build boilerplate-native-lib_armeabi-v7a
[1/2] Building CXX object CMakeFiles/boilerplate-native-lib.dir/native-lib.cpp.o
[2/2] Linking CXX shared library /builds/sebasira/android-module-boilerplate/app/build/intermediates/cmake/release/obj/armeabi-v7a/libboilerplate-native-lib.so
Build boilerplate-native-lib_arm64-v8a
[1/2] Building CXX object CMakeFiles/boilerplate-native-lib.dir/native-lib.cpp.o
[2/2] Linking CXX shared library /builds/sebasira/android-module-boilerplate/app/build/intermediates/cmake/release/obj/arm64-v8a/libboilerplate-native-lib.so
Build boilerplate-native-lib_x86
[1/2] Building CXX object CMakeFiles/boilerplate-native-lib.dir/native-lib.cpp.o
[2/2] Linking CXX shared library /builds/sebasira/android-module-boilerplate/app/build/intermediates/cmake/release/obj/x86/libboilerplate-native-lib.so
Build boilerplate-native-lib_x86_64
[1/2] Building CXX object CMakeFiles/boilerplate-native-lib.dir/native-lib.cpp.o
[2/2] Linking CXX shared library /builds/sebasira/android-module-boilerplate/app/build/intermediates/cmake/release/obj/x86_64/libboilerplate-native-lib.so

> Task :app:mergeReleaseJniLibFolders
> Task :app:mergeReleaseNativeLibs
> Task :app:stripReleaseDebugSymbols
> Task :app:transformNativeLibsWithSyncJniLibsForRelease
> Task :app:bundleReleaseAar
> Task :app:uploadArchives
> Task :app:artifactoryPublish
> Task :artifactoryPublish
> Task :extractModuleInfo
> Task :app:extractModuleInfo
[pool-3-thread-1] Deploying artifact: <here was the URL of my artifact, in artifactory>
[pool-3-thread-1] Deploying artifact:  <here was the URL of my artifact, in artifactory>
> Task :artifactoryDeploy

Deprecated Gradle features were used in this build, making it incompatible with Gradle 6.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/5.6.4/userguide/command_line_interface.html#sec:command_line_warnings

BUILD SUCCESSFUL in 3m 4s
35 actionable tasks: 33 executed, 2 up-to-date
section_end:1603669575:build_script
�[0Ksection_start:1603669575:after_script
�[0Ksection_end:1603669577:after_script
�[0Ksection_start:1603669577:archive_cache
�[0Ksection_end:1603669578:archive_cache
�[0Ksection_start:1603669578:upload_artifacts_on_success
�[0Ksection_end:1603669580:upload_artifacts_on_success
�[0K�[32;1mJob succeeded
�[0;m

请注意,有多个Gradle任务(与Android相关)尚未执行。还要注意,在成功日志和失败日志之间,jFrog CLI和Artifactory Gradle插件(build-extractor)已经更新。

还请注意,我正在使用Gradle v5.6.4,因为同时也发生了同时升级到Gradle v6.7和Android Gradle Plugin v4.1.0的情况,因此我将其还原为仅测试已知模式。

我还在jFrog CLIArtifactory Gradle Plugin中发布了问题。

更新

他们/为此创建了一个潜在的解决方法:https://github.com/jfrog/build-info/pull/407

WORKAROUND

在等待修复时,这是一种解决方法:在我之前的GitLab CI / CD YAML脚本中,需要在 .connect_artifactory 子脚本中进行更改。替换:

  curl -fL https://getcli.jfrog.io | sh

与此:

  curl -fL https://getcli.jfrog.io | sh -s 1.39.7

需要 1.39.7 的jFrog CLI版本

0 个答案:

没有答案