3.5. Git リポジトリーからの Puppet Modules の追加
モジュールを手動でアップロードする代わりに、Red Hat Satellite 6 には pulp-puppet-module-builder
と呼ばれるユーティリティーが含まれています。このツールは、モジュールのセットが含まれるリポジトリーを確認し、モジュールをビルドし、それらを Satellite 6 が同期する構造で公開します。これにより、Git でモジュール開発を管理する効率的な方法が提供され、Satellite 6 ワークフローに追加されます。
Modulefile の使用は、Puppet バージョン 3 以降は非推奨となりました。Puppet バージョン 3.X の使用時に Modulefile を含む Puppet モジュールをビルドすると、非推奨の警告が表示されます。Satellite 6.7 には、モジュールファイルデータを無視する Puppet バージョン 4 が含まれます。Modulefile のデータは metadata.json
ファイルに移動する必要があります。以下のように metadata.json
ファイルを使用するようにモジュールを変換することができます。
-
puppet module build
Module_Directory を一度実行します。 - Modulefile を削除します。
-
更新された
metadata.json
ファイルをリビジョンコントロールリポジトリーに確認します。
pulp-puppet-tools パッケージを使用して、他のマシンに pulp-puppet-module-builder
ツールをインストールすることもできます。
一般的な方法の 1 つは、Satellite 6 Server 自体でユーティリティーを実行し、ローカルディレクトリーに公開することです。
Git リポジトリーのローカルディレクトリーへの公開
Satellite Server でディレクトリーを作成し、モジュールを同期します。
# mkdir /var/www/puppet-modules # chmod 755 /var/www/puppet-modules
モジュールを /var/www/ ディレクトリーに保存すると、SELinux はリポジトリーの同期をブロックします。別のディレクトリーを使用する必要がある場合は、httpd_sys_r_content_t または pulp_tmp_t SELinux タイプを使用できます。httpd_sys_r_content_t SELinux タイプを使用すると、Web サーバーはファイルを読み取ることができます。SELinux ファイルタイプの設定に関する詳細は、『SELinux ユーザーおよび管理者のガイド』を参照してください。
pulp-puppet-module-builder
を実行して Git リポジトリーをチェックアウトします。# pulp-puppet-module-builder --output-dir=/var/www/puppet-modules \ --url=git@mygitserver.com:mymodules.git --branch=develop
これは、Git リポジトリーの
develop
ブランチをgit@mygitserver.com:mymodules.git
からチェックアウトし、モジュールを/var/www/puppet-modules/ に公開します。
HTTP サーバーにモジュールを公開する場合も同様です。
Web サーバーへの Git リポジトリーの公開
Web サーバーのディレクトリーを作成し、モジュールを同期します。
# mkdir /var/www/html/puppet-modules # chmod 755 /var/www/html/puppet-modules
pulp-puppet-module-builder
を実行して Git リポジトリーをチェックアウトします。# pulp-puppet-module-builder \ --output-dir=/var/www/html/puppet-modules \ --url=git@mygitserver.com:mymodules.git --branch=develop
これは、Git リポジトリーの
develop
ブランチをgit@mygitserver.com:mymodules.git
からチェックアウトし、モジュールを/var/www/html/puppet-modules/に公開します。
Satellite 6 Web UI で、URL が公開されたモジュールの場所に設定した新規リポジトリーを作成します。
Git からの Puppet モジュールのリポジトリーの作成
-
製品 ページで、以前に作成したカスタム製品 (
MyProduct
) をクリックします。 - リポジトリー のサブタブに移動します。
- 新規リポジトリー をクリックします。
-
リポジトリーに 名前 を指定します。この例では、
MyGitRepo
という名前を使用します。 - ラベル フィールドには、Name に基づいてラベルが自動的に入力されます。
-
リポジトリー タイプ として
puppet
を選択します。 URL フィールドで、以前に定義した場所を設定します。たとえば、Satellite 6 Server のローカルディレクトリーは、
file://
プロトコルを使用します。file:///modules
リモートリポジトリーは
http://
プロトコルを使用します。http://webserver.example.com/modules/
- 保存をクリックします。
- Sync Now をクリックしてリポジトリーを同期します。
Git リポジトリーの Puppet モジュールが Satellite 6 Server に含まれているようになりました。