在gradle.properties
中,我设置
org.gradle.unsafe.configuration-cache=true
字符串
这在我的本地机器上没有错误。输出是:
0 problems were found storing the configuration cache.
型
当我在GitHub Actions上设置一个作业时,只有当我停用配置缓存时,它才能成功。当它被激活时,我会得到这个日志:
3 problems were found storing the configuration cache, 1 of which seems unique.
- Task `:app:buildKotlinToolingMetadata` of type `org.jetbrains.kotlin.gradle.tooling.BuildKotlinToolingMetadataTask$FromKotlinExtension`: invocation of 'Task.project' at execution time is unsupported.
See https://docs.gradle.org/7.4.2/userguide/configuration_cache.html#config_cache:requirements:use_project_during_execution
See the complete report at file:///home/runner/work/***/***/build/reports/configuration-cache/3lar58wlvtv9703t0m3olblg9/gwoz69d8l961obatzzelsv4d/configuration-cache-report.html
> Invocation of 'Task.project' by task ':app:buildKotlinToolingMetadata' at execution time is unsupported.
型
我的主要兴趣是为什么它的行为不同。
我也想知道最好的解决方法是什么。(可以从缓存中跳过任务吗?或者如何停用CI服务器上的配置缓存?)
2条答案
按热度按时间siotufzp1#
我还不知道原因。
我目前的解决方法是在CI构建中禁用配置缓存,并将选项
--no-configuration-cache
添加到所有gradle命令中,例如字符串
这将覆盖
gradle.properties
的设置。l3zydbqr2#
同样,配置缓存在jenkins管道中失败,在本地工作正常。
参见this comment,它很有帮助。它将错误更改为警告,让它忽略配置缓存中的问题(仅当它失败时)并将其存储
控制台输出:
字符串
我会更新它的影响,如果有任何。