我已經實現了兩個傀儡模塊設置和配置兩個組件 - 甲& B.模塊夾看起來像下面的目錄結構:如何處理puppet模塊中的代碼重複?
modules
modulea
manifests
init.pp
install.pp
config.pp
service.pp
templates
1.properties.erb (This one is also needed by moduleb)
2.properties.erb (This one is also needed by moduleb)
moduleb
manifests
init.pp
install.pp
config.pp
service.pp
templates
1.properties.erb (same as in modulea)
2.properties.erb (same as in modulea)
3.properties.erb
4.properties.erb
5.properties.erb
在install.pp和service.pp的代碼是相同兩個模塊。在與2屬性文件modulea交易config.pp的代碼,而代碼與5個屬性文件moduleb交易config.pp。在這5個屬性文件中,2個屬性文件與modulea完全相同,而3個屬性文件是特定於moduleb的。
粘貼下面是install.pp和service.pp代碼:
**init.pp of modulea**
class modulea::install inherits modulea {
package { $package_name: ensure => present }
}
**init.pp of moduleb**
class moduleb::install inherits moduleb {
package { $package_name: ensure => present }
}
**service.pp of modulea**
class modulea::service inherits modulea {
service { $service_name: ensure => running, }
}
**service.pp of moduleb**
class moduleb::service inherits moduleb {
service { $service_name: ensure => running, }
}
我有什麼選擇,以減少重複代碼,提高代碼的可維護性?我有什麼選擇,以便我可以輕鬆地在未來增加一個具有相同模式的模塊?
它是好的。您可以在不同模塊中重複使用模板文件。 – BMW
我應該在哪裏保存那些由多個模塊使用的模板文件?如何處理其他文件中存在的其他代碼重複? –
你可以鏈接它們。將模板文件夾放在一個模塊中,並鏈接到其他模塊。 – BMW