coverity静态分析应该在什么阶段进行?

At what stage should coverity static analysis be done?

我们什么时候应该在 CI 生命周期中进行覆盖静态分析(没有构建,无构建捕获,因为我们不使用编译语言)?我们有测试、构建、部署等阶段。不同方法的优缺点是什么?

这是用于部署到 kubernetes 上的 django 应用程序。 test 阶段涉及测试 Django 端点。 build 阶段涉及构建 docker 容器。 deploy 阶段涉及推出最近构建的 docker 映像。

如果我要创建一个新舞台,应该在什么时候完成?这样做有什么约定吗?

决定将某些检查放在构建管道中的什么位置取决于您希望从这些检查中获得什么。

构建管道应该首先为您提供快速反馈。您想尽快知道是否有任何重要因素会阻止您的构建投入生产。这就是为什么您倾向于将 运行 快速检查移至管道的早期阶段。通过这种方式,您可以快速检查是否值得继续执行管道中更慢、更繁琐的步骤。

如果您的静态代码分析检测到问题,是否要使构建失败?如果是这样,这可能是将此步骤尽早纳入您的管道的一个指标。

您的静态代码分析需要多长时间来分析您的代码库?如果只是几秒钟的事情,您可以将其放入管道的早期阶段,而无需考虑太多。如果构建需要很长时间(可能是几十秒甚至几分钟),这表明您应该将其移至稍后阶段,以便其他更快的检查可以首先 运行。

您可以但不必将静态代码分析放入现有(testbuilddeploy)阶段之一,但没有人会阻止您创建管道中的专用阶段(verification 也许吧?)。

没有理由对此教条主义。进行试验并了解什么对您有用是很有价值的。强调 快速反馈 是构建管道的一个很好的经验法则,它不需要您观察构建 20 分钟才发现您犯了缩进错误在第 24 行。