【发布时间】:2017-11-03 07:50:51
【问题描述】:
我有一个自定义 Docker 容器,我在其中执行项目的构建和测试。它以某种方式与 Travis CI 集成。现在我也想从 Travis CI 中运行 Coverity scan 分析,但棘手的部分是(如果我正确理解 Coverity 文档),我需要运行构建。但是,构建在容器中运行。
现在,根据 cov-build --help
cov-build 或 cov-build-sbox 命令拦截对 由构建系统调用的编译器并从 文件系统。
我试过的:cov-build --dir=./cov docker exec -ti container_name sh -c "<custom build commands>"
然而,使用这种方法,Coverity 显然不会捕获对编译器的调用(考虑到 Docker 哲学,这很容易理解)并且不发出任何文件
我不想要什么(至少在有更好解决方案的希望时):
- 在本地安装所有必要的东西以在容器中构建
只能运行 Coverity 扫描。
-
从容器内运行 cov-build,因为:
- 我相信这会显着增加 docker 映像的大小
- 我使用 Travis CI addon 进行 Coverity 扫描,这将 把事情复杂化了很多。
Travis CI 部分只是 FWIW,在本地尝试了所有这些,它也不起作用。
我很高兴有任何关于这个问题的建议。谢谢。
【问题讨论】:
标签: docker static-analysis coverity