如何在Codeship中设置虚拟主机?

时间:2016-07-07 02:18:05

标签: virtualhost codeship

我正在使用Codeship来自动化多租户应用程序。 我的应用程序需要子域设置才能使用Selenium Web Driver运行验收测试。 所以,我需要为我的应用配置虚拟域。 例如,我需要以下虚拟域: 127.0.0.1 test.my-app.test 127.0.0.1 my-app.test 如果我不使用子域来请求我的应用程序,它不能按要求工作。 我在测试管道之前尝试了“安装程序命令”部分中的以下命令。 sudo echo '127.0.0.1 test.my-app.test' >> /etc/hosts sudo echo '127.0.0.1 my-app.test' >> /etc/hosts 但是,它不起作用,因为我没有许可。错误消息是: bash: /etc/hosts: Permission denied

你介意告诉我如何让它发挥作用吗?

先谢谢你了!

更新

我收到了Codeship团队的回复:

  

由于技术限制,这在我们的经典基础设施中是不可能的。您可以转到我们的Docker平台,它允许更多自定义您的构建环境。

我们需要使用Docker来解决这个问题

2 个答案:

答案 0 :(得分:0)

您的重定向命令不会以root权限执行,这就是您获得权限被拒绝错误的原因。 您的命令意味着"在权限根中执行回显,然后重定向到/ etc / hosts文件"。

试试这个:

sudo sh -c 'echo "Your text" >> /path/to/file'

答案 1 :(得分:0)

出于安全考虑,我们不允许通过构建VM上的sudo进行访问。

但是,您可以使用http://xip.io/ lvh.me 等服务通过DNS名称访问您的应用程序。

$ nslookup codeship.lvh.me
Server:     8.8.8.8
Address:    8.8.8.8#53

Non-authoritative answer:
Name:   codeship.lvh.me
Address: 127.0.0.1

lvh.me 会将对子域的任何请求解析为127.0.0.1 xip.io 会提供更多功能,详情会在其主页上详细说明