gpt4 book ai didi

java - 如果类已经在伪造的模块中声明,那么在 Puppet 中如何覆盖类变量

转载 作者:行者123 更新时间:2023-11-29 04:48:35 25 4
gpt4 key购买 nike

我正在使用来自 puppetlabs 的 jenkins puppet 模块,并想在我的 jenkins 机器上安装一个特定的 java 包。这jenkins puppet 模块使用 java用于 java 安装的 puppet 模块。我想在我的 jenkins 节点中安装一个特定的 java 包。所以我想我需要覆盖 java::package我的 puppet 模块中伪造的 java 模块的变量。像这样的 -

class {'java':
package => $my_jdk_package,
}

但是 java::init 类已经在 jenkins::init.pp 中被覆盖了.因此我不能在我的 puppet 模块中重新声明 java 类。知道如何做到这一点吗?

最佳答案

您可以设置 install_java jenkins 类中的参数为 false:

class { 'jenkins':
install_java => false,
require => Class['java'],
}

require参数是保证java先于jenkins安装。通过将 install_java 参数设置为 false,jenkins 模块将不再包含 java 类。这将允许您在您认为合适的时候在您的 jenkins 节点中声明 java 类:

class { 'java':
package => $my_jdk_package,
}

如果您使用 hiera然后你可以像这样覆盖参数:

---
java::package: 'packageyouwant'

这样您就不需要将 install_java 设置为 false,也不需要在您的 jenkins 节点中定义 java 类。

关于java - 如果类已经在伪造的模块中声明,那么在 Puppet 中如何覆盖类变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36302167/

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