2015-10-29 90 views
1

我們採用了http://garylarizza.com/blog/2014/02/17/puppet-workflow-part-2/中概述的想法,其中介紹了組件模塊,配置文件和角色的概念。相同環境中不同版本的傀儡模塊

假設我們有一個組件模塊「moduleA」,它可以被不同的配置文件模塊使用。由於不同的開發團隊可能會在任何特定時刻對「moduleA」進行更改並將其推到生產環境(我們所有的生產服務器都訂閱Puppetmaster「生產」環境),這有點像取決於模塊的快照版本。

在Java和Maven世界中,on會將pom.xml指向「moduleA」的特定版本,以避免依賴於快照版本。然而,在Puppet中,我認爲這不是開箱即用的支持。

是否有任何方法將Puppet打包成與Maven相似的或者其他任何可以應用的方式,以便確保配置文件模塊可以依賴於特定版本的組件模塊?其他puppet用戶在這種情況下管理模塊版本?

問候, 肯尼斯·霍爾特

回答

1

你不能在同一模塊多次在相同的環境。如果您需要同一模塊的多個版本,則必須使用不同的環境。

如何我會實現這個:

  • 必須在1.0版本數據模塊,在版本Ÿ取決於你的模塊moduleA。這將安裝在環境env1
  • 當您需要新版本的moduleA時,您將創建一個新的配置文件在版本1.1(或2.0,無所謂),將取決於新版本。如果您使用的木偶鍛造,讓您的模塊,您將在ENV2

安裝這個,你只需要更新metadata.json與拉新的配置文件:

puppet module install profile --target-dir /etc/puppet/environments/envX 
+0

感謝您的答覆。這似乎是要走的路。儘管可能會有相當多的環境,但取決於將模塊遷移到最新版本的速度有多快。 – kenneho