使用 SonarQube 分析 iOS/Swift 个移动应用程序

Analyze iOS/Swift mobile apps with SonarQube

嗯,在我的公司,我们用一些语言开发了一些项目。现在我们正在将所有内容从 SVN 迁移到 GitLab,我们开始将 Jenkins 和 SonarQube 与 Ubuntu 服务器一起用于 CI。

Java 项目一切正常(一切都在 linux 从站上运行),但现在我们想使用 SonarQube 来分析 Objective-C 和 Swift 的应用程序。

为了分析项目(移动应用程序),我们将购买开发者版本以使用 Swift 和 Objective-C 插件(开源插件被丢弃)。

所以,我的问题是,我们需要将 SonarQube 从 Ubuntu 移动到 Mac?或者可以用 Mac slave 进行分析?

顺便说一句,我阅读了所有插件文档,但对此我什么也没说。

谢谢!!

您可以在任何您喜欢的平台上托管 SonarQube,因为它是一个 Java 应用程序。同样,您可以随时随地分析大多数语言,因为大多数语言的分析也是使用 Java 处理的。 Swift肯定是这种情况;任何可以使用Java的地方,都可以运行分析。

对于 Objective-C,您需要先构建代码 using the Build Wrapper,然后再 运行 分析。 Build Wrapper 是用 C++ 编写的,但针对 Windows、Linux 和 Mac 进行了编译,因此您基本上可以 运行 随时随地使用它。这意味着您唯一真正的限制是编译 C、C++ 或 Objective-C 代码所需的平台。

明确地说,您可以 运行 分析任何类型的奴隶,特别是 Mac 奴隶。分析将生成一份报告,该报告将提交给服务器,按照收到的顺序排队和处理。

N.B。因为这在你的问题中有所暗示,所以我想做一个具体的扩展:你在哪里 分析 你的代码应该与你的 SonarQube 实例的托管位置无关。特别是,在托管 SonarQube 实例的同一台机器上 不是 运行 分析的好主意。您确实应该 至少 三台服务器:一台用于 SonarQube,一台用于数据库,一台用于 Jenkins。有关更多信息,请参阅 the docs.