1.閱讀SonarQube更新日志:
http://docs.codehaus.org/display/SONAR/Upgrading#Upgrading-ReleaseUpgradeNotes
2.停止SonarQube服務:
bin/<SYSTEM>/sonar stop
3.下載新版本的SonarQube及SonarQube Runner,並解壓至新的目錄NEW_SONARQUBE_HOME
http://www.sonarqube.org/downloads/
4.更新NEW_SONARQUBE_HOME/conf下sonar.properties與wrapper.conf文件裡的內容,文件內容參照OLD_SONARQUBE_HOME/conf下相應配置文件的內容,但切記千萬不要直接將原來的配置文件拷貝覆蓋,因為新的sonar.properties與wrapper.conf文件還包含新版本的一些配置項。
5.拷貝OLD_SONARQUBE_HOME/extensions/plugins中的插件至NEW_SONARQUBE_HOME/extensions/plugins
6.如果使用的是自定義的JDBC驅動,將其拷貝至NEW_SONARQUBE_HOME/extensions/jdbc-driver/<dialect>
7.備份數據庫:MySQL:
/usr/local/mysql# mysqldump -u sonar -p sonar>sonar.sql8.啟動SonarQube:
bin/<SYSTEM>/sonar stop9.用浏覽器訪問http://localhost:9000/setup (注意:不再是直接訪問localhost:9000),根據提示升級 10.根據實際情況修改系統中或持續集成中所有涉及SONAR_HOME和SONAR_RUNNER_HOME環境變量 11.使用新版SonarQube Runner分析項目 可能遇到的問題: 一、分析項目時報插件兼容性錯誤 解決:登錄http://localhost:9000 WEB中配置——更新中心,將plugins都更新至最新版本 注:更新Java Plugin時將會有個警告,
default-storage-engine=INNODB # Uncomment the following if you are using InnoDB tables innodb_data_home_dir = /usr/local/var innodb_data_file_path = ibdata1:10M:autoextend innodb_log_group_home_dir = /usr/local/var # You can set .._buffer_pool_size up to 50 - 80 % # of RAM but beware of setting memory usage too high innodb_buffer_pool_size = 256M innodb_additional_mem_pool_size = 20M # Set .._log_file_size to 25 % of buffer pool size innodb_log_file_size = 64M innodb_log_buffer_size = 8M innodb_flush_log_at_trx_commit = 1 innodb_lock_wait_timeout = 503.查看是否支持動態加載 mysql>show variables like "have_%"; 查看have_dynamic_loading這行,如果是YES,則繼續
mysql>INSTALL PLUGIN INNODB SONAME 'ha_innodb_plugin.so'; mysql>INSTALL PLUGIN INNODB_TRX SONAME 'ha_innodb_plugin.so'; mysql>INSTALL PLUGIN INNODB_LOCKS SONAME 'ha_innodb_plugin.so'; mysql>INSTALL PLUGIN INNODB_LOCK_WAITS SONAME 'ha_innodb_plugin.so'; mysql>INSTALL PLUGIN INNODB_CMP SONAME 'ha_innodb_plugin.so'; mysql>INSTALL PLUGIN INNODB_CMP_RESET SONAME 'ha_innodb_plugin.so'; mysql>INSTALL PLUGIN INNODB_CMPMEM SONAME 'ha_innodb_plugin.so'; mysql>INSTALL PLUGIN INNODB_CMPMEM_RESET SONAME 'ha_innodb_plugin.so'5.再次查看當前的引擎 mysql> show engines;
6.查看sonar庫中有哪些表是使用的MyISAM engine(注:這裡TABLE_SCHEMA中的‘sonar’為安裝sonar建庫時數據庫的名稱,需改成自身建庫時的名稱)
SELECT TABLE_NAME, ENGINE FROM information_schema.TABLES WHERE TABLE_SCHEMA = 'sonar'; +---------------------------+--------+ALTER TABLE sonar.widget_properties ENGINE=INNODB; ALTER TABLE sonar.widgets ENGINE=INNODB; ALTER TABLE sonar.user_roles ENGINE=INNODB; ALTER TABLE sonar.users ENGINE=INNODB; ALTER TABLE sonar.snapshot_sources ENGINE=INNODB; ALTER TABLE sonar.snapshot_data ENGINE=INNODB; ALTER TABLE sonar.snapshots ENGINE=INNODB; ALTER TABLE sonar.semaphores ENGINE=INNODB; ALTER TABLE sonar.schema_migrations ENGINE=INNODB; ALTER TABLE sonar.rules_profiles ENGINE=INNODB; ALTER TABLE sonar.rules_parameters ENGINE=INNODB; ALTER TABLE sonar.rules ENGINE=INNODB; ALTER TABLE sonar.resource_index ENGINE=INNODB; ALTER TABLE sonar.quality_gate_conditions ENGINE=INNODB; ALTER TABLE sonar.quality_gates ENGINE=INNODB; ALTER TABLE sonar.properties ENGINE=INNODB; ALTER TABLE sonar.project_measures ENGINE=INNODB; ALTER TABLE sonar.project_links ENGINE=INNODB; ALTER TABLE sonar.projects ENGINE=INNODB; ALTER TABLE sonar.perm_templates_users ENGINE=INNODB; ALTER TABLE sonar.perm_templates_groups ENGINE=INNODB; ALTER TABLE sonar.permission_templates ENGINE=INNODB; ALTER TABLE sonar.notifications ENGINE=INNODB; ALTER TABLE sonar.metrics ENGINE=INNODB; ALTER TABLE sonar.measure_filter_favourites ENGINE=INNODB; ALTER TABLE sonar.measure_filters ENGINE=INNODB; ALTER TABLE sonar.manual_measures ENGINE=INNODB; ALTER TABLE sonar.loaded_templates ENGINE=INNODB; ALTER TABLE sonar.issue_filter_favourites ENGINE=INNODB; ALTER TABLE sonar.issue_filters ENGINE=INNODB; ALTER TABLE sonar.issue_changes ENGINE=INNODB; ALTER TABLE sonar.issues ENGINE=INNODB; ALTER TABLE sonar.group_roles ENGINE=INNODB; ALTER TABLE sonar.groups_users ENGINE=INNODB; ALTER TABLE sonar.groups ENGINE=INNODB; ALTER TABLE sonar.graphs ENGINE=INNODB; ALTER TABLE sonar.events ENGINE=INNODB; ALTER TABLE sonar.duplications_index ENGINE=INNODB; ALTER TABLE sonar.dependencies ENGINE=INNODB; ALTER TABLE sonar.dashboards ENGINE=INNODB; ALTER TABLE sonar.characteristics ENGINE=INNODB; ALTER TABLE sonar.authors ENGINE=INNODB; ALTER TABLE sonar.activities ENGINE=INNODB; ALTER TABLE sonar.active_rule_param_changes ENGINE=INNODB; ALTER TABLE sonar.active_rule_parameters ENGINE=INNODB; ALTER TABLE sonar.active_rule_changes ENGINE=INNODB; ALTER TABLE sonar.active_rules ENGINE=INNODB; ALTER TABLE sonar.active_dashboards ENGINE=INNODB; ALTER TABLE sonar.action_plans ENGINE=INNODB;
三、服務端分析項目時或Eclipse本地分析時報
Caused by: org.sonar.api.utils.SonarException: The plugin findbugs is not supported with Java 1.6.0_** 由於最新版本的findbugs插件需要JDK1.7及以上的支持,因此需要安裝JDK1.7以上 對於Eclipse,若不想改變系統的JAVA環境,而只改變Eclipse中的JAVA環境,則可在eclipse.ini文件中增加 -vm配置Sonar、Jenkins進行持續審查
sonarQube代碼質量管理工具環境籌建筆記
SonarQube代碼質量管理平台安裝與使用
Sonar 的詳細介紹:請點這裡
Sonar 的下載地址:請點這裡
本文永久更新鏈接地址:
http://xxxxxx/Linuxjc/1147445.html TechArticle