SonarQube这一套程序代码分析软件,想必没有人不知道,目前算是世界知名程序代码分析软件之一,本身这套软件可以被下载安装在自家的Server内,或是使用它们云端服务-SonarCloud,进行对程序代码的分析。不过,要架设私人的SonarQube并不容易,必须安装SQL Server和Web Server两个。但是,SonarQube在扫程序代码时候,又会把程序代码复制一份到SonarQube服务器上,因此,若是使用SonarCloud,难免会担心程序代码被移留在第三方。取个折衷方案就是在Azure上建立自己的SonarQube服务器,并搭配VSTS做到持续集成的时候也确保程序代码质量。
安装Azure SonarQube
为什么要说轻松使用呢,因为在Azure上已经帮你准备好SonarQube的资源安装档了。只要在搜寻SonarQube,就可以找到
资源名称是SonarQube Certified by Bitnami,这个套件安装后预设是使用免费版的SonarQube,如果,想要升级安装好的SonarQube,就必须到它的官网进行付费动作,才可以升级它,并得到相对应的功能。
选好后,就按下建立,建立方式跟自己建立Azure VM一样的相关设定
之后,只需要设定相关参数就可以自动建立好SonarQube服务器,这样是不是很简单。在这里建立的VM会是Linux版本搭配MySQL。等安装完毕后,就可以登入SonarQube。
看到这画面就表示安装OK,但是问题来了,登入需要账号密码,一开始安装完毕后去哪边找到账号密码呢?这时候就要到Azure Port上找到刚刚建立的SonarQube的VM。到VM中找到[开机诊断],然后选择[序列记录文件],如下图,就可以找到默认的账号与密码。
不过建议第一次登入后,还是要修改admin密码才好。
VSTS安装SonarQube套件
既然有了SonarQube服务器,再来就是安装相关套件,要找到SonarQube forVSTS套件,只要到Marketplace输入SonarQube就可以。
安装完毕后,就可以在VSTS的Task找到这三个套件。
以.NET为例,透过这样流程设定就可以把Code送到SonarQube进行Scan,同时,结果也会被显示在最后Build完的结果上。
其中,比较需要注意的是在于Prepare AnalysisConfiguration的设定,有几个点需要注意:
SonarQube Server Endpoint :这部分是设定SonarQube的URL位置,且需要在SonarQube内产生一组联机的Token
Project Key:必须先在SonarQube建立要扫描的项目名称的Tag,这边就是填入在SonarQube项目名称的名字
Project Name:在SonarQube内的项目名字
如果还不熟其他设定,用默认值也是可以的。跑完之后就可以看到SonarQube是否对于这次Build的程序代码是否OK
如果,想要让程序分析变严格,就必须在SonarQube那边设定好条件就可以。透过云端服务,要在持续集成中也建立好自动化的程序代码分析就变简单很多,也不需要花费太多时间去架设。
领取专属 10元无门槛券
私享最新 技术干货