레이블이 SonarQube인 게시물을 표시합니다. 모든 게시물 표시
레이블이 SonarQube인 게시물을 표시합니다. 모든 게시물 표시

2014년 3월 3일 월요일

How to use sonarqube with java script

JS Plugin Download

http://repository.codehaus.org/org/codehaus/sonar-plugins/javascript/sonar-javascript-plugin/1.5/sonar-javascript-plugin-1.5.jar 를 SONARQUBE_HOME/extensions/plugins 에 다운 받는다.

$ wget http://repository.codehaus.org/org/codehaus/sonar-plugins/javascript/sonar-javascript-plugin/1.5/sonar-javascript-plugin-1.5.jar
--2014-03-01 12:40:28--  http://repository.codehaus.org/org/codehaus/sonar-plugins/javascript/sonar-javascript-plugin/1.5/sonar-javascript-plugin-1.5.jar
Resolving repository.codehaus.org (repository.codehaus.org)... 199.193.192.103
Connecting to repository.codehaus.org (repository.codehaus.org)|199.193.192.103|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 728235 (711K) [application/java-archive]
Saving to: `sonar-javascript-plugin-1.5.jar'

100%[=================================================>] 728,235      362K/s   in 2.0s

2014-03-01 12:40:31 (362 KB/s) - `sonar-javascript-plugin-1.5.jar' saved [728235/728235]

SonarQube restart

~$ sudo /etc/init.d/sonar restart
Stopping sonar...
Stopped sonar.
Starting sonar...
Started sonar.

Confirm Java script Plugin

image2014-3-1 22-24-55

SonarQube Runner Download

~$ wget http://repo1.maven.org/maven2/org/codehaus/sonar/runner/sonar-runner-dist/2.3/sonar-runner-dist-2.3.zip
--2014-03-01 13:22:01--  http://repo1.maven.org/maven2/org/codehaus/sonar/runner/sonar-runner-dist/2.3/sonar-runner-dist-2.3.zip
Resolving repo1.maven.org (repo1.maven.org)... 199.27.77.129, 199.27.77.192
Connecting to repo1.maven.org (repo1.maven.org)|199.27.77.129|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 303046 (296K) [application/zip]
Saving to: `sonar-runner-dist-2.3.zip'

100%[=================================================>] 303,046      454K/s   in 0.7s

2014-03-01 13:22:03 (454 KB/s) - `sonar-runner-dist-2.3.zip' saved [303046/303046]

Uncompress the downloaded file into the directory of your choice.
자기가 받고자 하는 경로에 다운 받아서 압축을 풉니다.

~$ cd /opt/

/opt$ sudo unzip /home/ubuntu/sonar-runner-dist-2.3.zip
Archive:  /home/ubuntu/sonar-runner-dist-2.3.zip
   creating: sonar-runner-2.3/
   creating: sonar-runner-2.3/bin/
  inflating: sonar-runner-2.3/bin/sonar-runner.bat
  inflating: sonar-runner-2.3/bin/sonar-runner
   creating: sonar-runner-2.3/conf/
  inflating: sonar-runner-2.3/conf/sonar-runner.properties
   creating: sonar-runner-2.3/lib/
extracting: sonar-runner-2.3/lib/sonar-runner-dist-2.3.jar

Setup SonarQube Runner

editing <install_directory>/conf/sonar-runner.properties

$ sudo vi conf/sonar-runner.properties
#----- Default SonarQube server
sonar.host.url=http://localhost:9000
#----- MySQL                                                                               sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&amp;characterEncoding=utf8

Add the <install_directory>/bin directory to your path.
path에 sonar_runner 추가

Download example code

$ wget https://github.com/SonarSource/sonar-examples/archive/maste
r.zip
--2014-03-01 13:07:40--  https://github.com/SonarSource/sonar-examples/archive/master.zip
Resolving github.com (github.com)... 192.30.252.129
Connecting to github.com (github.com)|192.30.252.129|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://codeload.github.com/SonarSource/sonar-examples/zip/master [following]
--2014-03-01 13:07:41--  https://codeload.github.com/SonarSource/sonar-examples/zip/master
Resolving codeload.github.com (codeload.github.com)... 192.30.252.145
Connecting to codeload.github.com (codeload.github.com)|192.30.252.145|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [application/zip]
Saving to: `master.zip'

    [        <=>                                       ] 984,865      476K/s   in 2.0s

2014-03-01 13:07:44 (476 KB/s) - `master.zip' saved [984865]

unzip master.zip

~$ unzip master.zip
Archive:  master.zip
a0bcc5083d5099bc49da4ebbfbdc5b15f4aa9033
   creating: sonar-examples-master/
  inflating: sonar-examples-master/.gitignore
  inflating: sonar-examples-master/README.md
   creating: sonar-examples-master/plugins/

~$ cd sonar-examples-master/projects/languages/javascript/javascript-sonar-runner

Run an Analysis with the SonarQube Runner (Recommended metho)

To run an analysis of your JavaScript project, use the SonarQube Runner.

~/sonar-examples-master/projects/languages/javascript/javascript-sonar-runner$ /opt/sonar-runner-2.3/bin/sonar-runner
SonarQube Runner 2.3
Java 1.7.0_51 Oracle Corporation (64-bit)
Linux 3.2.0-58-virtual amd64
INFO: Runner configuration file: /opt/sonar-runner-2.3/conf/sonar-runner.properties
INFO: Project configuration file: /home/ubuntu/sonar-examples-master/projects/languages/javascript/javascript-sonar-runner/sonar-project.properties
INFO: Default locale: "en_US", source code encoding: "UTF-8"
INFO: Work directory: /home/ubuntu/sonar-examples-master/projects/languages/javascript/javascript-sonar-runner/.sonar
INFO: SonarQube Server 4.1.1

13:13:28.908 INFO  - <- Clean snapshot 4
INFO: ------------------------------------------------------------------------
INFO: EXECUTION SUCCESS
INFO: ------------------------------------------------------------------------
Total time: 38.092s
Final Memory: 12M/115M
INFO: ------------------------------------------------------------------------

결과 확인하기

image2014-3-1 22-26-33


http://docs.codehaus.org/display/SONAR/JavaScript+Plugin
http://docs.codehaus.org/display/SONAR/Installing+and+Configuring+SonarQube+Runner

Get Started With SonarQube On EC2

Requirements(요구 사양 확인)

Prerequisite

The only prerequisite for running SonarQube is to have Java (Oracle JRE 6 onwards) installed on your machine.

Hardware Requirements(하드웨어 요구사양)
  1. The SonarQube web server requires at least 500 Mb of RAM to run efficiently.
  2. The amount of disk space you need will depend on how much code you analyze with SonarQube. As an example, Nemo the public instance of SonarQube, has more than 10 millions lines of code under analysis with 4 years of history. Nemo is currently running on a Amazon EC2 small instance, using  about 10 Gb of drive space

http://docs.codehaus.org/display/SONAR/Requirements

Installation

Install JAVA7 (자바 7 설치)

ubuntu@ip-172-31-31-224:~$ sudo apt-get install openjdk-7-jre
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
0 upgraded, 138 newly installed, 0 to remove and 3 not upgraded.
Need to get 79.2 MB of archives.
After this operation, 181 MB of additional disk space will be used.
Do you want to continue [Y/n]?

Install MySQL (mysql 설치)

~$ sudo apt-get install mysql-server
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
  libdbd-mysql-perl libdbi-perl libhtml-template-perl libmysqlclient18 libnet-daemon-perl
  libplrpc-perl libterm-readkey-perl mysql-client-5.5 mysql-client-core-5.5 mysql-common
  mysql-server-5.5 mysql-server-core-5.5
Suggested packages:
  libipc-sharedcache-perl tinyca mailx
The following NEW packages will be installed:
  libdbd-mysql-perl libdbi-perl libhtml-template-perl libmysqlclient18 libnet-daemon-perl
  libplrpc-perl libterm-readkey-perl mysql-client-5.5 mysql-client-core-5.5 mysql-common
  mysql-server mysql-server-5.5 mysql-server-core-5.5
0 upgraded, 13 newly installed, 0 to remove and 3 not upgraded.
Need to get 27.2 MB of archives.
After this operation, 97.5 MB of additional disk space will be used.
Do you want to continue [Y/n]?

Installing the DataBase (DB설치)

make sample scripte for mysql

~$ vi create_database.sql

# Create SonarQube database and user.
#
# Command: mysql -u root -p < create_database.sql
#

CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;

CREATE USER 'sonar' IDENTIFIED BY 'sonar';
GRANT ALL ON sonar.* TO 'sonar'@'%' IDENTIFIED BY 'sonar';
GRANT ALL ON sonar.* TO 'sonar'@'localhost' IDENTIFIED BY 'sonar';
FLUSH PRIVILEGES;

create database

~$ mysql -u root -p < create_database.sql
Enter password: <—insert your root passwd of mysql

Download

Add the following entry in your /etc/apt/sources.list :

deb http://downloads.sourceforge.net/project/sonar-pkg/deb binary/

Update your local package index and install Sonar:

sudo apt-get update
sudo apt-get install sonar

Sonar native packages

Those packages install standalone version of Sonar into "/opt/sonar" and provide init script, so it can be launched as:

/etc/init.d/sonar start

Change Database


sudo vi /opt/sonar$ sudo vi conf/sonar.properties

#sonar.jdbc.url=jdbc:h2:tcp://localhost:9092/sonar

#----- MySQL 5.x
# Comment the embedded database and uncomment the following line to use MySQL
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true


Restart


$ sudo /etc/init.d/sonar restart
Starting sonar...
Started sonar.


Run!!!


image2014-3-1 17-20-32

http://sonar-pkg.sourceforge.net/

http://docs.codehaus.org/display/SONAR/Installing

http://www.chrishjorth.com/blog/free-aws-ec2-ubuntu-apache-php-mysql-setup/

2014년 2월 13일 목요일

Sonarqube + JavaScript


Sonarqube + JavaScript

SonarQube가 Dashboard를 통해서 보여주는 내용은 소위 품질의 7가지 축(seven axes of quality)이라고 하는 ‘잠재적인 버그’, ‘코딩 규칙’, ‘테스트’, ‘중복’, ‘주석’, ‘아키텍처 및 설계’, ‘복잡도’에 관련된 내용입니다.
‘코딩 규칙’은 설정 부분에서 언어에 따라서 지정할 수가 있으며, Java의 경우에는 FindBugs와 같은 좀더 강력한 규칙을 적용해볼 수도 있습니다.
‘테스트’는 분석 대상 소스에 단위테스트가 있어야 하며, 커버리지를 통해 분석할 수 있습니다. ‘주석’이나 ‘중복’은 ‘주석’의 비율이 높으면 높을수록 좋고, ‘중복’은 비율이 적으면 적을수록 좋습니다. 이와 같이 서로 대조적으로 비교할 수 있는 지표들을 보여줌으로써 소스코드에 대한 품질을 다양한 각도에서 분석해볼 수 있습니다.
짜잔 - 이걸 쓸 수 있을 것으로 보임.

http://docs.codehaus.org/display/SONAR/JavaScript+Plugin