gpt4 book ai didi

jenkins-pipeline - Gradle --no-daemon 启动守护进程?

转载 作者:行者123 更新时间:2023-12-03 15:52:25 24 4
gpt4 key购买 nike

如何防止 gradle 与守护进程交谈?

./gradlew --no-daemon -Porg.gradle.daemon=false -Dorg.gradle.daemon=false build -x test
Starting daemon
IDLE

我们在 ecs 上运行 jenkins 节点,所以守护进程似乎并没有给我们买太多东西。此外,我们在一个并行的 jenkins 管道 block 中运行了几个 gradle 执行,有时会看到守护程序错误——这是我没想到的:
[org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire exclusive lock on daemon addresses registry.
[org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
[org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
Daemon vm is shutting down... The daemon has exited normally or was terminated in response to a user interrupt.

似乎 gradle 需要周围的守护进程才能使用它。我将尝试放弃并使用 gradle daemon 文档推荐的守护程序。

最佳答案

org.gradle.daemon=false~/.gradle/gradle.properties为我工作。
有一个警告,因为它仍然需要派生一个进程才能更改 JVM 设置。此过程实际上与常规守护程序相同,但对当前构建是私有(private)的,并在之后终止。

To honour the JVM settings for this build a single-use Daemon process will be forked. See https://docs.gradle.org/7.0/userguide/gradle_daemon.html#sec:disabling_the_daemon.Daemon will be stopped at the end of the build


如果 JVM 设置已经匹配,则不会执行此操作。
请注意,虽然您获得了“效率较低”的构建,但您确实会在每次运行后修剪 gradle 缓存。否则它只会在共享守护进程退出时被修剪,这可能永远不会出现在 CI 系统中。

关于jenkins-pipeline - Gradle --no-daemon 启动守护进程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58453969/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com