SonarQube“托管在您的服务器上” + Travis CI + Swift

我在本地计算机上安装了SonarQube并成功运行,但目的是将其与Travis CI集成。

要将SonarQube与Travis集成,我有2种选择:

  1. 使用SonarCloud。 (文档位于https://docs.travis-ci.com/user/sonarcloud)
  2. 使用我的服务器上托管的Sonar。

选择第二个选项-我总是更喜欢服务器上托管的服务。

从SonarSource购买了Developer Edition,网址为https://www.sonarsource.com/plans-and-pricing/developer/

为什么要使用开发人员版??

:我想要Swift语言支持。

您可以在网络上找到足够的文档来将SonarCloud与Travis CI集成,但是要将其与托管在您自己的服务器上的SonarQube集成并不是一件容易的事。 这就是为什么我想到写这篇文章的原因

.travis.yml设置

我假设您已经知道如何使用您的Github帐户设置Travis。 接下来,您需要告诉Travis如何使用SonarQube对代码进行质量检查。 .travis.yml中的以下代码段将帮助您实现这一目标:

 插件: 
sonarqube:truescript:
-声纳扫描仪-D sonar.host.url = $ SONAR_HOST_URL -D sonar.login = $ SONAR_TOKEN -Xenv:
全球:
—安全:SecuredSonarToken-SONAR_HOST_URL = SonarHostURL

要生成SonarHostURL的SONAR_TOKEN登录,请转至我的帐户->安全->生成安全令牌。 将生成一个令牌,使用travis encrypt SONAR_TOKEN=token —- add此令牌travis encrypt SONAR_TOKEN=token —- add

  sonar.projectKey = projectKey 
sonar.projectName =项目名称
#数字版本(可以在plist中自动找到,只需注释此行)
sonar.projectVersion = 1.0
#如果您有一个混合ObjC / Swift的项目,请发表评论
sonar.language = swift#项目说明
sonar.projectDescription =我的App。#源目录的路径
sonar.sources =。/#目标模拟器运行surefire
#作为xcodebuild命令的目标参数中预期的字符串
#示例= sonar.swift.simulator = platform = iOS Simulator,名称= iPhone 6,OS = 9.2
sonar.swift.simulator = platform = iOS Simulator,name = iPhone 6,OS = 9.2#用来构建应用程序的方案
sonar.swift.appScheme = appScheme#用于方案的配置。 如果您未指定默认值为调试
sonar.swift.appConfiguration =调试

而已。 下次Travis构建时,SonarQube Scanner将能够连接到SonarQube服务器并扫描您的代码。

快乐编码……..::)