除了开发和发展营销变化推向了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)
答案 0 :(得分:1)
Controller在部署之前执行两项操作:
除非您的源代码发生变化,否则第一步不应导致部署文件。
然而,在第二步中,JSP文件是由应用程序中的小部件生成的,并且可能随着小部件的异想天开而变化。为了使网页在生产中尽可能快地运行,HTML内容通常由基于数据库内容的小部件生成(使用产品价格等)。对于涉及不会逐秒变化的数据的页面内容,这种性能节省非常重要。
这种机制允许家庭,类别和登陆页面几乎是静态的 - 它们运行速度很快,因为它们需要很少或没有数据库访问。数据库访问和内容创建在生成时完成,通常每15分钟一次,而不是每秒数百次用户访问网页。
因此,如果您的小部件是动态的并且基于正在更改的数据生成HTML,那么即使源代码保持不变,Controller也可能有许多已更改的文件要部署到生产中。同样,如果小部件在每次运行Controller时决定以任何理由生成不同的代码,那么Controller也会更改要部署的文件。
要确定每次部署哪些文件,请查看FIP(文件安装协议)使用的隐藏文件。它们可以通过前缀.fip-
标识,并且应该在Controller和已部署的服务器上记录传输。
但请注意,即使Web内容保持完全相同,Controller也会将时间戳放入其中一个已部署的文件(或可能是jar)中,因此始终需要部署该文件。我不记得它的名字,但它会永远存在于FIP日志中。