我使用Tox作为所有python代码质量工具(如flake8、mypy和pytest )的包装器。我还从詹金斯那里调用了Tox。
目前,对于每一个git push,我们
。
由于这个原因,运行毒理需要2秒在本地,但90秒在詹金斯。
我现在不知道我们是否要谨慎。把. to / cache文件夹单独放在Jenkin中可以吗?这可能很重要,我们只有deps = -rrequirements-dev.txt在[testenv]。
还有其他方法来加速毒物测试吗?
发布于 2019-10-29 10:09:20
读取 documentation on "Dependency changes and tracking"后,requirements.txt文件中的更改似乎不会触发虚拟环境的重建。因此,看起来您确实应该删除.tox目录,或者至少使用tox的-r, --recreate选项(这可能更有效)。
也许你可以给毒理插件,如,或一次尝试。
不过,我不知道重建conda环境的必要性。
发布于 2019-10-29 13:39:12
有一个名为detox的Tox插件,它支持tox管道的并行处理。最近版本的tox (我有Python3.7.3和TOX3.14.0)直接提供了这个特性。
在Jenkins文件中使用tox --parallel auto可以将所需的时间从90秒降到20秒。对于我的需要,这已经足够好了,现在我可以避免对缓存问题的任何担心了。
https://stackoverflow.com/questions/58604782
复制相似问题