我正在使用Django、Docker、Travis CI和Flake 8构建一个项目。我的flake8文件:
[flake8]
max-line-length = 119
exclude =
migrations,
__pycache__,
manage.py,
settings.py,
env
当我运行本地flake8测试时,使用:
docker-compose exec app python manage.py test && flake8
我收到一条确认消息,没有错误消息。我的代码很好
当我将代码推送到master(自动启动Travis CI)时,Travis构建会因以下错误而失败:
./project/settings.py:94:80: E501 line too long (91 > 79 characters)
./project/settings.py:97:80: E501 line too long (81 > 79 characters)
./project/settings.py:100:80: E501 line too long (82 > 79 characters)
./project/settings.py:103:80: E501 line too long (83 > 79 characters)
./core/models.py:7:80: E501 line too long (93 > 79 characters)
./core/models.py:13:80: E501 line too long (104 > 79 characters)
./core/migrations/0001_initial.py:18:80: E501 line too long (126 > 79 characters)
The command "docker-compose run app sh -c "python manage.py test && flake8"" exited with 1.
我的flake8文件特别指出,最大行长度为119,因此这些错误不应该发生(就像在本地计算机上运行测试时没有发生一样)
有人知道发生了什么事吗
问题中没有足够的信息,所以我深入OP的github
当被问到这个问题时,这是他们的dockerfile:
他们的flake8配置位于存储库根目录中的
.flake8
因为这个文件不是他们的映像的一部分(在其中没有任何内容),所以在进行linting时没有考虑到它
将此文件添加到映像中(最简单的方法是
COPY . .
,它添加所有内容)可以解决此问题我怀疑发生了什么:
app/.flake8
移动(上图中的是).
在运行时装载到容器中无论如何,重建和添加
COPY . .
都应该解决这个问题相关问题 更多 >
编程相关推荐