我编写了以下python脚本:
import httplib
conn = httplib.HTTPConnection("127.0.0.1:8080")
conn.request("HEAD", "/")
check = conn.getresponse()
print check.status, check.reason
if check.status == 200:
exit(0)
else:
exit(1)
在我的机器上运行时,我得到了正确的响应:
# python pytest.py
200 OK
但是当Travis CI在构建时运行脚本时,会引发以下错误:
$ python pytest.py
Traceback (most recent call last):
File "pytest.py", line 4, in <module>
check = conn.getresponse()
File "/opt/python/2.7.12/lib/python2.7/httplib.py", line 1136, in getresponse
response.begin()
File "/opt/python/2.7.12/lib/python2.7/httplib.py", line 453, in begin
version, status, reason = self._read_status()
File "/opt/python/2.7.12/lib/python2.7/httplib.py", line 409, in _read_status
line = self.fp.readline(_MAXLINE + 1)
File "/opt/python/2.7.12/lib/python2.7/socket.py", line 480, in readline
data = self._sock.recv(self._rbufsize)
socket.error: [Errno 104] Connection reset by peer
The command "python pytest.py" exited with 1.
编辑#1:
以下是生成日志: https://travis-ci.org/geek-kb/tikal_assignment/builds/182633824
失败的原因是什么?你知道吗
看起来您正在docker容器内的端口8080上运行服务:
它也会暴露在主人面前:
尝试从脚本连接到该端口,例如:
相关问题 更多 >
编程相关推荐