我正在使用来自puppetlabs的jenkins puppet模块,并希望在我的jenkins机器中安装一个特定的java包。这个jenkins木偶模块使用java木偶模块进行Java安装。我想在我的jenkins节点中安装一个特定的java包。所以我想我需要在puppet模块中覆盖伪造java模块的java::package变量。像这样的东西 -
class {'java':
package => $my_jdk_package,
}
但是java :: init类已经在jenkins::init.pp中被覆盖了。因此我不能在我的puppet模块中重新声明java类。 知道怎么做吗?
答案 0 :(得分:3)
您可以在jenkins类中将install_java参数设置为false:
class { 'jenkins':
install_java => false,
require => Class['java'],
}
require参数是确保在jenkins之前安装java。通过将install_java参数设置为false,jenkins模块将不再包含java类。这将允许您根据需要在jenkins节点中声明java类:
class { 'java':
package => $my_jdk_package,
}
如果您使用hiera,则可以覆盖以下参数:
---
java::package: 'packageyouwant'
您不需要将install_java设置为false,也不需要在jenkins节点中定义java类。