かなり単純なWebアプリケーションを開発およびリリースするための最適な方法を見つけようとしているところ、いくつかの問題が発生しています。私が行った決定の概要を説明します。なぜなら、どこかで明らかにレールから外れてしまったからです。どんな助けにも非常に感謝します!
かなりシンプルなWebアプリケーションだと思います。これには、2つのJava Beanを参照する2つのjspと、通常の静的html、js、css、およびイメージが含まれています。
決定1)ローカルマシンで開発し、本番マシンに確実にリリースできるように、明確でクリーンなリリース手順が必要でした。したがって、解放する必要のある個別の要素を最小限に抑えるために、アプリケーションをwarファイル(すべての静的リソースを含む)にパッケージ化することを決定しました。ここまでは順調ですね?
決定2)ローカルマシンの物事を本番環境にできるだけ類似させたい。たとえば、私のhtmlでは、http://static.foo.com/fileなどの静的ファイルへの参照がある場合があります。このコードをdevとprodでシームレスに機能させるために、ローカルで開発する際にstatic.foo.comを/ etc / hostsに入れて、すべてのURLが何も変更せずに正しく機能するようにしました。
決定3)私は、EclipseとMavenを使用して、プロジェクトを管理および構築するためのベストプラクティス環境を提供することにしました。
それで、私は今タイトなセットアップをしています:
htmlファイルの1行など、開発中の何かを変更するたびに、プロジェクト全体を再ビルドし、tomcatがwarをロードするのを待ってから、それが必要かどうかを確認できます。だから私の質問は:
1)毎回戦争を再構築する必要がないように、EclipseとTomcatを接続する方法はありますか?つまり、tomcatは静的ファイルを提供するために実際のワークスペースをまっすぐ見ていますか?
2)私は/ etc / hostsを使用して本番URLを反映することで物事を難しくしていると思います-URLを手動で変更することを含まないより良い方法はありますか(相対URLはもちろん問題ありませんが、多くのサブドメインがある場合) 、1つは静的ファイル用、もう1つは動的ファイル用であり、絶対パスを書き出す必要がありますか?)
3)これは本当にベストプラクティスですか?自動化された包括的なビルドプロセスの要件と、JavaScriptとhtmlとcssを、まるで指摘したかのようにすばやく開発できる速度と柔軟性を両立させるために、人々はどのように設定しますかディレクトリでのApacheとライブ開発?人々は何を作品としていますか?
どうもありがとう!
編集:素晴らしい回答をありがとう!私はそれらをすべて正しくマークすることができれば、そうします。これは本当に私を助けました。私が聞いているのは、ベストプラクティスは、開発中のWebアプリケーションの構造を保存し、できるだけ本番環境に近い環境で実行することです。人々の違いは、人々がサーブレットコンテナーにリソースをホットデプロイする準備ができている程度であり、少し余分な速度や利便性のためにビルドプロセスを回避しているようです。それは理にかなっている。再度、感謝します。
#1に回答するには、次のことをお勧めします。
mvn eclipse:eclipse
、m2プラグインを使用して、または使用して、Eclipseプロジェクトを生成できます質問#2に答えるために、/ etc / hostsファイルを変更して本番環境を模倣することには何の問題もありません。これらのエントリを追加/削除し、DNSキャッシュをフラッシュする簡単なスクリプトを用意してください。私はいつもそうします。(必ず関連する設定を通じて、ブラウザのキャッシュを頻繁にクリアしてください)。
質問3)に答えるには、はい、これはあなたがすべきことです。ビルドごとに、1つのステップで任意の環境にデプロイできる単一のデプロイ可能なアーティファクトが生成されます。IDEなしでこれを実行できることを確認し、IDEを開発段階で役立つツールとしてのみ使用する必要があります。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加