跳到主要內容

[DevOps] Sonarqube程式碼檢測在Jenkins介面中自動執行

完成 "[DevOps] Sonarqube程式碼檢測,環境建置" 後,接著將Sonarqube與Jenkins結合,在Jenkins中進行自動執行Sonarqube程式碼檢測。

下載SQL Server JDBC driver

下載網址https://www.microsoft.com/en-us/download/details.aspx?id=55539

解壓縮sqljdbc到{sonarqube}/extsnsions/jdbc-driver/mssql 資料夾下

安裝Jenkins sonarqube plugin

管理Jenkins > 管理外掛程式

 

可用的 > 輸入sonar > 勾選SonarQube Scanner > 按下直接安裝按鈕



Config Jenkins

管理Jenkins > Global Tool Configuation

 

在SonarQube Scanner for MSBuild區塊,按一下新增SonarQube Scanner for MSBuild按鈕

 

將Name設定為sconar Scanner,並且設定步驟(5)SonarScanner MSBuild Plugin的路徑,然後按下最下方的儲存按鈕。

 

管理Jenkins > 設定系統

 

跳到SonarQube Servers區塊後,按下Add SonarQube按鈕

 

依序設定Sonar Server名稱及Server URL

Server URL預設是http://localhost:9000,由於我們要提供給團隊成員查看sonarqube掃描結果,需要設定為sonarqube server所在的IP,然後申請防火牆開啟。

 


Config CI JOB(SonarQube使用Scanner Plugin)

跳到CI JOB的建置步驟,依序新增三個步驟:  Scan Begin、MSBuild及Scan End

(1)在SonarQube Scanner for MSBuild – Begin Analysis區塊

  • Project key: ${JOB_NAME}
  • Project name: ${JOB_NAME}
  • Project version ${BUILD_NUMBER}

 

(2)在Build a Visual Studio project or solution using MSBuild

  • MSBuild verion: MSBuild 15
  • MSBuild Build File: T:\Program Files (x86)\Jenkins\workspace\專案名稱\專案.sln

 

(3) SonarQube Scanner for MSBuild – End Analysis

執行建置後

按一下SonarQube的連結,網頁就會導到SonarQube Server對應專案的網頁上。


遭遇的問題:

Jenkins +MSBuild+Sonar构建编译Job时提示Running the Scanner for MSBuild under Local System or Network Service account is not supported. Please, use a local or domain user account instead.

现象如下图所示:

 

解决方法:

右击我的电脑选择管理然后从管理界面里面找到服务或者在cmd界面输入services.msc打开服务管理界面,从服务管理界面找到jenkins服务,右键点击属性,在弹出的对话框中切换到登陆标签,默认登录方式为本地系统帐号,此处我们选择此账户。然后输入账户和密码点击确定,完成以上操作以后重新启动jenkins服务然后再重新执行即可。

 修改方式如下图所示:


參考網址:

https://dotblogs.com.tw/stanley14/2018/06/02/Jenkins_SonarQube

其他常見問題:

https://www.cnblogs.com/jinjiangongzuoshi/p/11648785.html

留言

這個網誌中的熱門文章

[Python] 以.py檔案產生Windows EXE 執行檔

如何開發能在Windows下執行的Python程式?你當然可以在Windows下安裝Python之後用command line運行你的 .py source code來直接執行程式,但是這方法基本上只適合開發中的程式,或是自己寫好玩只在自己的PC上執行的程式,也許適用。 但若你的需求是要在每個Windows的OS下都可以執行、且是不公開程式碼的,那就必須要將你的 .py source code包裝成EXE執行檔了,下面就介紹如何進行: –下載 auto-py-to-exe-master https://github.com/brentvollebregt/auto-py-to-exe 1. 解壓縮auto-py-to-exe-master.zip到想要的路徑下(路徑不能有空格或".") 2. 開啟Cmd console 到auto-py-to-exe-master路徑下 3. 在console下執行"pip install -r requirements.txt" 4. 在console下執行"python run.py" 運行完畢後就可以選取你要轉成執行檔的 .py 檔案,進行製作。 可參考下面的影片: 產生出來的檔案包含執行檔與其程式中會用到的相關Lib檔案,所以要將整個output資料夾中的檔案一併提取出來 (不要只拿執行檔出來)。 如此你就可以在任意的Windows上執行你的程式了。

Visual Studio 軟體開發的授權問題

使用Visual Studio開發各種軟體產品非常的方便,此款地表最強軟體開發工具涵蓋了各種的程式語言。但在授權上需要注意一下,否則很有可能會被微軟收取罰金。         Visual Studio Community可以在任何狀況下使用,但是要商業用途(賣產品)只限個人創作,公司組織的話除非是開放原碼、教育、學術研究,除此之外皆不可使用。 因此公司組織要用Visual Studio做產品的話,一種做法是買一套Professional版本,開發時用 Community 版本,要Release給客戶時用 Professional 或更高級的版本編譯;另一種做法是不考慮轉用更高級版本,那麼一開始就採用 Express 版可以降低未來轉換之困擾。 但需要知道 Express 版少了許多功能(例如 Code Coverage、Profiling ...),並且從2019開始微軟不再推出Express版本,也意味著沒有"公司組織免費使用Visual Studio開發產品"的選項了。 微軟雖然不再推出Express版本,但有另一個免費的IDE工具VS code,也可用來開發軟體,只是相對來說Visual Studio只稱得上是一個程式編輯器,如果要在VS code上開發如Winform的程式,就要使用第三方的工具了,以下提供幾個VS code上開發的連結: VS code上開發Winform https://ironmansoftware.com/building-a-windows-form-app-with-powershell-in-vs-code/ VS code上開發ASP.NET core https://blog.johnwu.cc/article/asp-net-core-3-starting.html

[PyAutoGUI] 用程式控制鍵盤滑鼠的動作

想透過程式指令控制鍵盤滑鼠的行為,在Windows下一般可以透過VBScript,但是VBScript較適合針對鍵盤事件,至於滑鼠行為的控制在VBScript中沒有提供原生的控制功能,必須透過第三方提供的API進行實現。通常使用Windows Excel提供的API來完成,但Excel在不同的版本下有不同的差異,在不同的Windows 版本下又有不同相容性問題。 因此建議用Python提供的 PyAutoGUI 實作,前提是需要安裝Python和PyAutoGUI套件。 PS. 透過auto-py-to-exe-master將python source code編譯成執行檔(.exe)即可在任何Windows環境下執行而不用擔心相容性問題了。 參考連結: PyAutoGUI : 使用Python控制電腦