2

我正在使用 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 来解决这个问题

4

2 回答 2

0

您的重定向命令将不会以 root 权限执行,这就是您收到Permission denied错误的原因。您的命令意味着“在特权根目录中执行回显,然后重定向到 /etc/hosts 文件”。

尝试这个:

sudo sh -c 'echo "Your text" >> /path/to/file'
于 2016-07-08T15:42:44.353 回答
0

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

但是,您可以使用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.1xip.io提供更多功能,在其主页上有更详细的说明。

于 2016-08-02T14:02:44.113 回答