即使在git中没有检测到更改,Tooltwist Controller是否在传输阶段在Web服务器中安装新的捆绑包?

时间:2014-08-28 06:53:08

标签: tooltwist

除了开发和发展营销变化推向了git,Tooltwist Controller为什么要在Web服务器中安装新捆绑包的其他可能原因。

据观察,尽管Jenkins发现git中有“No Changes”,但在转移阶段仍然安装了新的捆绑包。

(参考:使用Jenkins 1.462和ToolTwist控制器版本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)

1 个答案:

答案 0 :(得分:1)

Controller在部署之前执行两项操作:

  1. 从Git中提取源代码后构建应用程序。
  2. 生成navpoints JSPs
  3. 除非您的源代码发生变化,否则第一步不应导致部署文件。

    然而,在第二步中,JSP文件是由应用程序中的小部件生成的,并且可能随着小部件的异想天开而变化。为了使网页在生产中尽可能快地运行,HTML内容通常由基于数据库内容的小部件生成(使用产品价格等)。对于涉及不会逐秒变化的数据的页面内容,这种性能节省非常重要。

    这种机制允许家庭,类别和登陆页面几乎是静态的 - 它们运行速度很快,因为它们需要很少或没有数据库访问。数据库访问和内容创建在生成时完成,通常每15分钟一次,而不是每秒数百次用户访问网页。

    因此,如果您的小部件是动态的并且基于正在更改的数据生成HTML,那么即使源代码保持不变,Controller也可能有许多已更改的文件要部署到生产中。同样,如果小部件在每次运行Controller时决定以任何理由生成不同的代码,那么Controller也会更改要部署的文件。

    要确定每次部署哪些文件,请查看FIP(文件安装协议)使用的隐藏文件。它们可以通过前缀.fip-标识,并且应该在Controller和已部署的服务器上记录传输。

    但请注意,即使Web内容保持完全相同,Controller也会将时间戳放入其中一个已部署的文件(或可能是jar)中,因此始终需要部署该文件。我不记得它的名字,但它会永远存在于FIP日志中。