我编写了 puppet 清单,并使用 puppet 来部署我的系统。我现在正在重构清单以使其可维护。
子系统之一是带有 web 应用程序的 tomcat。我有大约 10 个网络应用程序。它们中的每一个都有几乎相同的部署过程。现在我使用类。10 个文件 - 几乎相同。
当我尝试使用参数化类时,puppet 让我只实例化一次。然后我尝试创建从 webapp 类继承的“空”类。它不能很好地工作,因为 puppet 抱怨参数没有传递给父类。
我没有看到任何可以抽象代码的方法。怎么做?
我想实现:
node {
class {"webapp::first": param1 = one}
class {"webapp::second": param1 = two}
}
其中第一个和第二个是使用相同配方的应用程序。
我知道有定义,但配方相当大,即使有可能我发现类更具可读性。