使用 docker 开发时运行预提交钩子(例如 pylint)

Jan*_*ann 5 python pylint pre-commit python-3.x docker

预提交挂钩在单独的虚拟环境(或 Docker 容器)中运行。然而,我们的代码在 Docker 上运行,我们也在使用 Docker 进行开发。

到现在为止,我们没有对我们的主机系统上安装任何相关性,但在运行的时候mypyisortpylint他们遇到的问题,因为他们不能访问安装的依赖关系。

我们的第一个想法是在主机系统的虚拟环境中安装依赖项,但这似乎也是一个笨拙的解决方法。

有没有一种很好的方法来运行具有对容器的完全访问权限的预提交?

ste*_*ius 0

创建一个特殊的容器来检查代码风格怎么样?

它应该安装了所有需要的 linter 和一个用于检查代码目录的 bash 文件。

你的钩子命令看起来像docker run -v [mount code dir to container in RO mode] codestyle_check_container