主な目標はすべての人形モジュールを自動的に追加することで、すべてのdev-envとprod-envを1つのコマンドで起動できるようにします。パペットマニフェストを使用してパペットモジュールをインストールするにはどうすればよいですか?人形マニフェストを介して人形モジュールをインストールできますか?
答えて
librarian-puppetを使用して、サードパーティのすべてのモジュールを同期させていただきました。モジュールの位置とバージョンの設定をサポートしています。したがって、プロダクションと開発者はまったく同じコードを実行します。 使用量は1つのライナー
librarian-puppet install
私たちは人形2回、1時間必要なモジュールを取得するための唯一の責任がある最小限のモジュールを実行するシェルスクリプトを持っている他のケースで
、その後、本格的な人形劇の流れでありますすべてのモジュールが利用可能です。
人形モジュールをインストールするための書き込みモジュールが可能だと思われます。puppet module
ツールのラッパーにすぎません。しかし、私はそのようなモジュールについてまだ聞いていませんでした。
インストールされたモジュールを変更する必要があるため、カスタマイズを行う必要があるため、このインストールメカニズムは一般的ではないと思います。そのような変更を管理するための実用的なツールは、バージョン管理システムです。たとえば、私たちのチームでは、/etc/puppetlabs/puppet
というディレクトリをgit repostitoryに置いています。 Puppet Forgeからモジュールをインストールした後、バージョンコントロールにファイルを追加し、リモートgitサーバーにプッシュします。当社の内部開発モジュールもこのリポジトリに保管されています。このように、いくつかのパペットマスター(開発環境とプロダクト環境)はこの中央リポジトリと同期され、常にすべてのモジュールの最新バージョンを持っています。
"Puppet module" type and providerはまさにそれを行います。人形の
module { 'author/mymodule':
ensure => present,
}
module { 'puppetlabs/stdlib':
ensure => '2.6.0',
}
module { 'puppetlabs/stdlib':
ensure => present,
modulepath => '/etc/puppet/modules',
}
最近のバージョンもあなたがPuppet forgeから任意の人形モジュールをインストールすることができますpuppet module
コマンドを持っている、例:
$ puppet module install rcoleman/puppet_module
Notice: Preparing to install into /home/anarcat/.puppet/modules ...
Notice: Created target directory /home/anarcat/.puppet/modules
Notice: Downloading from https://forgeapi.puppetlabs.com ...
Notice: Installing -- do not interrupt ...
/home/anarcat/.puppet/modules
└── rcoleman-puppet_module (v0.0.3)
他の選択肢が含まを:
R10K今人形ENTREPRISE 2015.03の一部であり、それは確かにベストプラクティスと見なすことができます。
これは簡単で素晴らしいですが、新しいバージョンの人形の[問題](https://github.com/ryanycoleman/puppet_module_provider/issues/4) – vikas027
@ vikas027私は 'puppet module'コマンドを含む他のオプションを追加し、r10kをより重視しました。 – anarcat
問題のために 'rcoleman/puppet_module'を避けてください – alekwisnia
私はこれをしなかったし、ここで
exec { 'puppet-fstab':
path => '/bin:/usr/bin',
command => 'puppet module install -i /usr/share/puppet/modules/AlexCline-fstab >>/tmp/err.log',
}
もちろん、私はこれを動作させた直後に、私が望んだことを実行する"マウント "を組み込み、しかし、うまくいけば、この他の人は正しい方向に誰かを指します。 –
を動作するように見えた私の例である:
$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は、私がインストールすることwhantモジュールであるところ。 /bin
のパスは、grep
が由来するパスです。 /opt/puppetlabs/bin
は、インストール時に人形のバイナリが存在するパスです。
これは動作しますが、引用符とハイフンには注意してください! –
- 1. 人形モジュールのインストールウィンドウ
- 2. ベイグラント、人形nodejsモジュール:NPMモジュールのインストールでエラーを投げ
- 3. 人形マニフェストを自動生成しますか?
- 4. 人形学習VM:マニフェストとクラス(ルビー)
- 5. は、私は人形フォージから人形モジュールを使用してい傀儡モジュールを複数回
- 6. 人形でmysql-serverをインストールする
- 7. 人形を使って人形マスターを管理する
- 8. 人形
- 9. Node.jsモジュールは人形/迷彩を使用して再インストールされません
- 10. 人形人形を数秒待つようにする方法
- 11. 人形ノードホスト名
- 12. 人形 - テンプレート
- 13. ZIO 2013:人形
- 14. 人形のソースマップ?
- 15. 人形は、私は私の人形マニフェストに次のように使用していることを確認インストール/最新
- 16. 迷路人形、作曲家がlaravelをインストールできない
- 17. 人形STDLIB「メンバー」機能人形STDLIBモジュールのメンバ関数を使用しようと
- 18. 異なる人形モジュールからクラスを拡張する
- 19. エラー人形エージェントを実行しているとき、私は人形のエージェントを実行すると
- 20. 人形の無人アップグレードモジュールを使用してすべてのアップグレード(セキュリティだけでなく)をインストールする方法
- 21. 評価エラー人形
- 22. 迷彩人形モジュールパス
- 23. 人形は:継承
- 24. 人形のダッシュボード4
- 25. gitクローンがvcsrepoモジュールの人形でエラーをスローする
- 26. 人形モジュール経由でレジストリファイルをインポートするサイレントな方法
- 27. 紺碧VMの作成使用して人形モジュール
- 28. 殺人、人形、シェフの違い
- 29. スタンドアロンの人形にモジュールが見つかりません
- 30. 人形を使ってJenkinsプラグインをインストールする方法はありますか?
私はまだこのモジュールの目的を理解できません。図書館員はカスタムのものだけでなく、人形のモジュールもインストールしますか? gitサブモジュールを使用しているときは、それらのすべてを1つのコマンドで更新できますか?標準的な人形モジュールをインストールするためにinstall-me.shスクリプトを作成しました。追加の大騒ぎなしに、ちょうどチェックアウトと方法を実行したい。 – holms
okこれは基本的に図書館員と同じです。私はシェフに移行しましたが、あなたの答えはまだ有効です – holms
モジュールはパペットクライアントによってインストールされていないので、実際には元の質問には答えられません。だから、まずあなたがそのライブラリをインストールする必要があり、それをPuppetでインストールすることはできません!最高の解決策はPuppetクライアント自体に組み込まれたものです... – anarcat