Puppetデプロイメントの構成をWAR / EARから分離する
-
27-10-2019 - |
質問
JavaWebアプリケーションをWeblogicおよびJbossサーバーに多数展開します。多くの場合、展開は次のようになります。
-
コードとデフォルト設定をアプリケーションサーバーまたはWeblogic管理サーバーのステージングディレクトリにコピーします。
-
プロパティファイルを編集して、環境固有の変数(IPアドレス、ユーザー名など)を設定します
-
antを実行してear / warを作成し、適切なディレクトリにドロップします。
-
サービスを開始する
これは、構成管理ツールとしてPuppetを使用するのに非常に不親切な一連の手順であることが証明されています。 PuppetのPackage、File、Service trifectaに非常に似たプロセスをお勧めしますが、ear / warを構築する前にプロパティを構成する必要があるため、war / earを構築するための追加の手順が必要になるため、これは困難です。プロパティが入力された後のホスト。
環境にとらわれない戦争/耳を構築し、構成を外部に保持して、余分な構築手順を削除する方法はありますか?
WebアプリケーションとPuppetを特に扱った人はいますか?また、何か推奨事項はありますか?
解決
tomcat と.warwebappsで行ったことは、解凍されたwarを使用してシステムパッケージを構築し、confファイルを処理することです。私はWeblogicやJBossをまったく扱ったことがないので、解凍されたWARのものをどのように扱うのかわかりません。
1)すべての.warビルド作業を行うパッケージ(RPM)をビルドし、次のようにします。 ジェネラコディセタグプレ
(解凍された.warファイルがパッケージに含まれ、実際の.warファイルが含まれていないため。tomcatを使用すると、特にファイルがルートに属しているために書き込みアクセス権がない場合は、そのディレクトリがそのままになります)
2)人形のようなもの: ジェネラコディセタグプレ
この特定のパッケージには、8つのディレクトリに32個のファイルがあり、構成するために変更またはプッシュしています。ほんの数個のファイルの場合、再帰的なものではなく、いくつかの単純なfile{}
リソースを使用してそれらのファイルを管理します。
システムタイプのパッケージを構築したくない場合は、戦争用のfile{}
リソースを代替ディレクトリ、exec{"unzip ...": creates => '/path/to/unzipped/webapp;}
に作成し、構成用のfile{}
リソースにExec["unzip ..."]
を要求させることができます。