我应该在生产中没有servlet容器运行Jenkins,即使用java -jar jenkins.war

时间:2014-09-10 03:23:15

标签: java tomcat jenkins servlet-container

我是Java和Java Web应用程序的新手。我试图理解为什么我应该使用像Tomcat这样的Java应用服务器,而不是从命令行运行它。

  • 我是否应该在生产中没有servlet容器运行Jenkins,即使用java -jar jenkins.war
  • Tomcat更适合生产环境吗?
  • 还有其他优点吗?

请告诉我为什么在servlet容器中运行应用程序非常重要。

1 个答案:

答案 0 :(得分:6)

实际上当你运行Jenkins为“java -jar jenkins.war”时,无论如何它都会启动嵌入式servlet容器(Winstone或Jetty)。由于构建服务器上的主要负载不是来自Web用户,而是(来自构建作业的惊喜),我认为servlet容器类型不会影响性能。此外,构建作业在单独的JVM中启动,甚至在从属机器上启动。

此外,所有服务器/作业/插件配置都存储在Jenkins home / config文件夹中,因此启动Jenkins的方式不会影响服务器维护/备份任务。本机安装程序还可以创建用户并启动Jenkins作为服务。

Jenkins: The Definitive Guide” - “将Jenkins作为一个独立的应用程序运行可能并不符合每个人的口味。对于生产服务器,您可能希望利用更完善的监控和管理功能Java应用程序服务器,例如JBoss,GlassFish或WebSphere Application Server。系统管理员可能对相对鲜为人知的Winstone服务器持谨慎态度,或者可能只是喜欢Jenkins适合已知的Java Web应用程序开发模式。如果这是例如,您可能更愿意或有义务将Jenkins部署为标准的Java Web应用程序。“