0

git にプッシュされた開発とマーケティングの変更以外に、Tooltwist コントローラーが Web サーバーへの新しいバンドルのインストールを続行する理由として考えられるものは何ですか。

Jenkins が git で「変更なし」が行われたことを検出したにもかかわらず、転送フェーズ中に新しいバンドルがまだインストールされていることが観察されました。

(参照: Jenkins 1.462 と ToolTwist Controller バージョン 8.0.2.20130510 を使用)。

ログ: Starting installation at Wed Aug 27 18:57:21 EDT 2014 fip /ControllerV8/launchpads/xxxxx-prod-servers/image xxx.domain.com:3YXY3/$HOME/server/ Bundle 1 (8.87mb = 53 installs, 0 deletes) Bundle 2 (8.95mb = 53 installs, 0 deletes) Bundle 3 (8.86mb = 53 installs, 0 deletes) Bundle 4 (8.94mb = 53 installs, 0 deletes) Bundle 5 (8.96mb = 52 installs, 0 deletes)

4

1 に答える 1

1

Controller は、デプロイする前に次の 2 つの操作を実行します。

  1. Git からソースをプルした後、アプリケーションをビルドします。
  2. navpoints JSP の生成

ソース コードが変更されない限り、最初の手順でファイルが展開されることはありません。

ただし、2 番目のステップでは、JSP ファイルはアプリケーションのウィジェットによって生成され、ウィジェットの気まぐれで異なる場合があります。Web ページを本番環境で可能な限り高速に実行するために、HTML コンテンツは多くの場合、データベース コンテンツ (製品価格などを使用) に基づいてウィジェットによって生成されます。秒ごとに変化しないデータを含むページ コンテンツの場合、このパフォーマンスの節約は重要です。

このメカニズムにより、ホーム、カテゴリ、およびランディング ページをほぼ静的にすることができます。データベースへのアクセスがほとんど、またはまったく必要ないため、高速に実行されます。データベースへのアクセスとコンテンツの作成は、ユーザーが Web ページに 1 秒間に何百回もアクセスするのではなく、生成時に (通常は 15 分ごとに) 行われます。

そのため、ウィジェットが動的で、変化するデータに基づいて HTML を生成する場合、コントローラーには、ソース コードが変更されていない場合でも、本番環境にデプロイされる多くの変更されたファイルが含まれている可能性があります。同様に、コントローラが実行されるたびに何らかの理由でウィジェットが異なるコードを生成することを決定した場合、コントローラもデプロイするファイルを変更します。

毎回展開されるファイルを特定するには、FIP (ファイル インストール プロトコル) で使用される隠しファイルを調べます。これらは接頭辞 で識別でき.fip-、Controller とデプロイされたサーバーの両方で転送をログに記録する必要があります。

ただし、Web コンテンツがまったく同じままであっても、Controller はデプロイされたファイルの 1 つ (または場合によっては jar) にタイムスタンプを配置するため、そのファイルは常にデプロイする必要があることに注意してください。名前は覚えていませんが、FIP ログには常に存在します。

于 2014-08-28T08:35:38.300 に答える