在Jenkins执行程序节点上更改主机文件

时间:2012-10-01 15:59:31

标签: cloudbees

我们计划将我们的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项目配置中添加一个预处理步骤来编辑hosts文件,但正如预期的那样,Jenkins作业没有这样做的权限。

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

1 个答案:

答案 0 :(得分:1)

您可以使用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服务退役,但操作起来可能相当便宜,所以至少应该存在一段时间。