【发布时间】:2015-11-10 13:37:41
【问题描述】:
我有一个角色,它调用多个配置文件,以便使用包含和链接,如下所示:
class role::buildserver {
contain ::profile::<all the classes below>
Class['::profile::chocolatey'] ->
Class['::profile::jdk'] ->
Class['::profile::googlechrome'] ->
Class['::profile::jenkins_install']
}
在我包含使用 jenkins 模块的 jenkins_install 配置文件之前,该链工作正常。无论我做什么,jenkins 模块总是首先被调用。模块本身包含它自己的围绕它的清单的锚定顺序,这似乎覆盖了我的角色。有没有办法从我的角色中覆盖 jenkins 模块排序?或者告诉 puppet 忽略它。
这是我的詹金斯个人资料
class profile::jenkins_install (
$somevariables
)
class{ '::jenkins':
configure_firewall => false,
cli => true,
plugin_hash => $plugin_hash,
}
contain ::jenkins
}
这是我在尝试使用角色时遇到的错误:
(Anchor[jenkins::begin] => Class[Jenkins::Package] => Package[jenkins] => Class[Jenkins::Package] => Class[Jenkins::Config] => Class[Jenkins::Config] => Class[Jenkins::Plugins] => Jenkins::Windows::Plugin[jenkinswalldisplay] =>
Download_file[jenkinswalldisplay.hpi] => Class[Profile::Specflow] => Package[specflow] => Class[Profile::Specflow] => Class[Profile::Tortoisesvn] => Package[tortoisesvn] => Class[Profile::Tortoisesvn] => Class[Profile::Googlechrome] => Package[GoogleChrome] => Class[Profile::Googlechrome] =>
Class[Profile::Jenkins_install] => Class[Jenkins] => Anchor[jenkins::begin])
为什么它会先和最后运行 Jenkins?!我只能认为是使用锚的 puppet-labs jenkins 模块导致了这种情况。有没有办法覆盖他们的排序?
【问题讨论】:
-
你能检查 jenkins::windows::plugin 和 download_file 类吗?他们有什么与配置文件或角色类相关的东西吗?我认为这些是您制作的自定义类。
标签: puppet