15

主な目標は、すべての puppet モジュールを自動的に追加して、すべての dev-env と prod-env を 1 つのコマンドで開始できるようにすることです。puppet マニフェストから puppet モジュールをインストールするにはどうすればよいですか?

4

5 に答える 5

4

これが私の例です:

  $module_stdlib = 'puppetlabs-stdlib'
  exec { 'puppet_module_stdlib':
    command => "puppet module install ${module_stdlib}",
    unless  => "puppet module list | grep ${module_stdlib}",
    path    => ['/bin', '/opt/puppetlabs/bin']
  }

$module_stdlib は、インストールしたいモジュールです。/binパスは が来るgrepパスです。そして、これ/opt/puppetlabs/binは私のインストールにパペットバイナリが存在するパスです。

于 2016-01-25T23:48:35.503 に答える
2

puppetモジュールをインストールするためのモジュールを書くことは可能であるようです - それは単なるpuppet moduleツールのラッパーになります。しかし、そのようなモジュールについてはまだ聞いたことがありません。

インストールされたモジュールを変更したり、いくつかのカスタマイズを行う必要があることが多いため、このインストールのメカニズムは一般的ではないと思います。このような変更を管理するための実用的なツールは、バージョン管理システムです。たとえば、私たちのチームでは、/etc/puppetlabs/puppetディレクトリを git リポジトリに保持しています。Puppet Forge から任意のモジュールをインストールした後、そのファイルをバージョン管理に追加し、それをリモート git サーバーにプッシュします。社内で開発したモジュールもこのリポジトリに保管されています。このようにして、複数のパペット マスター (開発環境と本番環境) がこの中央リポジトリと同期され、すべてのモジュールの最新バージョンが常に保持されます。

于 2013-05-28T15:18:53.233 に答える