4

我们正计划将我们的 Java Web 应用程序构建环境迁移到 Cloudbees,但目前有一个方面阻碍了我们。我们正在开发一个多租户应用程序。它使用主机子域来识别租户,我们使用通配符 dns 条目在生产中执行此操作(例如:*.example.com)。

在开发过程中,我们在 hosts 文件中硬编码了一些条目来模仿它。这些条目足以运行我们的测试:

...
127.0.0.1   test1.app.dev
127.0.0.1   test2.app.dev
127.0.0.1   test3.app.dev
127.0.0.1   test4.app.dev

所以基本上,Jenkins 应该设置 hosts 文件,然后在本地使用我们的 Web 容器启动我们的应用程序。然后针对正在运行的 Web 应用程序执行测试套件。

我试图在 Jenkins 项目配置中添加一个预处理步骤来编辑主机文件,但正如预期的那样,Jenkins 作业没有这样做的权限。

有没有办法在我的测试套件运行之前更改主机文件?或者我们可以做些什么来模拟通配符 dns 条目?

4

1 回答 1

2

您可以使用 37signals 的 xip.io 服务:

http://37signals.com/svn/posts/3191-announcing-pow-040-with-xipio-support

因此,您的主机名将是

  • test1.127.0.0.1.xip.io
  • test2.127.0.0.1.xip.io
  • test3.127.0.0.1.xip.io
  • test4.127.0.0.1.xip.io

我个人会尝试将它们保存在集中配置的区域,以防 xip.io 服务被停用,但它的运行成本可能相当低,因此至少应该存在一段时间。

于 2012-10-02T02:44:28.750 回答