【问题标题】:Jenkins interacting with the local Tomcat instanceJenkins 与本地 Tomcat 实例交互
【发布时间】:2011-09-09 00:40:09
【问题描述】:

我在我的开发服务器上安装了 Jenkins,以便在我的开发代码库(用 ColdFusion 编写)上运行以下操作:

  • 从 Git 下拉任何更改
  • 在 Tomcat 上创建新主机?
  • 运行所有单元测试
  • 如果测试通过,则创建一个 Git 标记以表明测试成功
  • 否则,如果测试失败,请联系我

除了列表中的第二项之外,我什么都能做。我遇到的第一个问题是我不确定最佳实践是什么,在工作区中创建一个新主机或将代码复制到其他地方的目录。

Jenkins 和 ColdFusion 在同一个 Tomcat 服务器上运行; Jenkins 作为 WAR 部署运行,Railo (CF) 在 Tomcat 上创建的所有主机上运行,​​在那里创建了一个 WEB-INF 目录。

我能够找到大量关于将应用程序部署到远程 Tomcat 实例的文档,但是我找不到任何关于部署到本地 Tomcat 实例的文档,那么我可以从 Jenkins 创建 Tomcat 主机吗?如果是这样,最好的方法是什么?

【问题讨论】:

    标签: tomcat coldfusion tomcat6 jenkins


    【解决方案1】:

    我有一个 Jenkins 实例正在运行,它在做很多相同的事情。我认为一个简单的解决方案是让一个进程将一个新的主机条目附加到 XML 文件中。由于这是在同一台机器上,这应该很容易。您可以使用 CFML 执行此操作,但是,我尝试将这些过程放在脚本中(我使用具有强大 XML 功能并且可以轻松作为脚本执行的 Scala),因此它们可以在不依赖 CFML 引擎的情况下执行。

    1. 关闭 Railo(网络停止 railo)
    2. 附加一个条目。
    3. 启动 Railo(网络启动 railo)
    4. 执行测试。

    希望这会有所帮助。

    【讨论】:

    • 我构建了一个简单的 Ruby 应用程序来完成所有这些过程,但是当我使用它时我意识到了一些事情; Jenkins 正在运行的 Tomcat 实例上运行,所以它不会通知我问题,除非我有一项工作来创建主机,而另一项工作来做其他所有事情。相反,我想我将自己创建每个主机并将作业工作区指向主机文件夹。
    • 也许您可以迁移到默认的 Jetty 安装?
    • 我希望将所有内容都保留在 1 个 Tomcat 实例上。我只是将我的部署流程更改为以下内容:1)创建一个新的 Tomcat 主机 2)重新启动 Tomcat 实例 3)在 Jenkins 中创建作业,将工作区指向新的 Tomcat 主机。现在我想到它似乎比我想做的事情容易得多。
    • 使用 Jenkins 构建的最新战争档案在 Tomcat 上重新安装和重新加载现有 Web 应用程序不是一个选项吗?如果是这样,那很容易。我在这里写了一个指南macgyverdev.blogspot.se/2014/02/…
    猜你喜欢
    • 1970-01-01
    • 2015-04-24
    • 1970-01-01
    • 2020-06-22
    • 2011-07-09
    • 1970-01-01
    • 2017-02-12
    • 1970-01-01
    • 2012-07-10
    相关资源
    最近更新 更多