DevelopTool/CI/SonarQube
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
-コードチェックツール。
#contents
*ライセンス [#wa446329]
無料なのはCommunityでそれ以外のバージョンはServerIDに基づ...
*API DOC [#w3cba359]
https://next.sonarqube.com/sonarqube/web_api
|再起動|curl -u admin:admin123 -XPOST http://localhost:90...
|メトリクス一覧|curl -u admin:admin123 -XPOST http://loca...
|プロジェクトごとにメトリクス取得| curl -u admin:admin123...
*バージョニング [#h20258d1]
メジャー.マイナー.パッチ
LTSだとマイナーバージョンは上がらない。LTSのみパッチリリ...
バージョンアップには必ずLTSを挟む必要がある。
*インストール [#wed642bd]
サーバーとクライアントがある。V5.1ではJDK7以上が必要。内...
**Dockerバージョン [#cb5adbe8]
docker run -d --name sonarqube -e SONAR_ES_BOOTSTRAP_CHE...
http://localhost:9000/ のadmin/adminで入れる
mvn compile sonar:sonar -Dsonar.login=admin -Dsonar.pass...
-ESが起動しないことがある vm.max_map_count [65530] is to...
-vm.max_map_count = 262144を/etc/sysctl.confに追加
-sudo sysctl --system
echo "vm.max_map_count = 262144" >> /etc/sysctl.conf
sudo sysctl --system
***9.0だとエラー [#dbf47c1a]
could not find java in ES_JAVA_HOME at /usr/lib/jvm/java...
privileged: trueを加えることで回避できたが、特権付与にな...
dockerのバージョンを最新(公式リポジトリを利用し23.0.3)...
***バージョンアップ時の注意 [#y5999fa6]
-データのマイグレーションは容量に比例するのでなるべくブラ...
-プラグインのディレクトリはクリアしておかないとそのまま引...
-7.9でデフォルトで入っているプラグインを受け継いだまま8.9...
Web server startup failed: The following plugins are no ...
***DB_importの罠 [#yb5ccf95]
-docker-compose stop ではなくdocker-compose downする。
-DBだけupする。流し込む
-その後sonarを立ち上げる。
-docker stop でやると流し込んでもProjectは復元できない
***PHPをスキャン [#n711c215]
+プロジェクト作成
+Sonar-scannerをダウンロードしてパスを通す
+コマンドが出るのでそのとおりに実施
sonar-scanner -Dsonar.projectKey=tftool -Dsonar.sour...
sonar-scannerはmavenやgradlewが使えない時に使うらしい。新...
-設定ファイルはsonar-project.propertiesをroot直下に配置
-実行時オプションを与えた場合はそちらが優先される
上記と同じ値を設定したが、sonar.usernameにtokenを指定して...
sonar.projectKey=tftool
sonar.projectName=php
sonar.sources=.
sonar.host.url=http://localhost:9000
#sonar.login=055fec9a0efce1dc33a10ac3863584417e69eb04
sonar.login=xxx
sonar.password=xxx
sonar.svn.username=xxx
sonar.svn.password.secured=xxx
# javaの場合に必要
sonar.java.binaries=target
projectKeyがユニークなIDで、
ProjectNameは表示上のラベル(表によくでてくるのはこちらで...
**SonarQube Server インストールと起動 [#x7ddbdee]
+zipダウンロード、解凍
+batまたはshをたたく
+http://localhost:9000/にアクセス
**SonarQube YUMインストール [#s263275e]
sudo wget -O /etc/yum.repos.d/sonar.repo http://download...
sudo yum -y install sonar
**Apacheとの連携 [#s5a1a1e2]
-sonar.confとして/etc/httpd/conf.dあたりに配置
ProxyPass /sonar http://localhost:9000/sonar no...
ProxyPassReverse /sonar http://localhost:9000/sonar
ProxyRequests Off
AllowEncodedSlashes NoDecode
-sonar.properties更新
コンテキストパス/sonarを定義する。
sonar.web.context=/sonar
**初期設定管理者アカウント [#h3c6d655]
admin/admin
*設定 [#d2885102]
-SONAR_HOME/conf/sonar.propertiesファイルで設定を行う。My...
sonar.jdbc.username=sonar
sonar.jdbc.password=sonar
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnic...
sonar.web.context=/sonar
事前にsonarデータベースとsonarユーザーを作成しておくこと!
-sonar.web.javaOpts
メモリの設定はこちらで!
**プラグイン [#h4ea5c0a]
プラグインはDB移行ではついてこないので、手動で入れる
|プラグイン名|備考|
|checkstyle||
|Cobertura|A code coverage utility for Java|
***Dockerの場合 [#feeef962]
test_docker_sonarqube_extensions/_data/plugins以下にjar...
*yumインストール [#z89c85bd]
yumパッケージもある
sudo wget -O /etc/yum.repos.d/sonar.repo http://download...
sudo yum install sonar
*コード解析の実行 [#p0ecd99e]
**maven [#j75543d5]
maven-sonar pluginを利用すれば実行可能。デフォルトでlocal...
mvn compile sonar:sonar -Dsonar.java.binaries=target/cla...
*Jenkinsとの連携 [#iaa6f9b0]
*記事 [#y4258d2d]
http://yoshio.velvet.jp/blog/archives/4076
*移行 [#ke9d4a8f]
+DB移行(mysqldump)
+http://SONARSERVER:9000/setupにアクセス(Database is up-t...
*カスタマイズ [#af8e6d77]
ruby on railsをjavaで動かしている模様。viewも.erbファイル...
**view置き場 [#l79facab]
SONARQUBE_DIR/web/WEB-INF/app/views/
**controller置き場 [#p7ca0655]
SONARQUBE_DIR/web/WEB-INF/app/controllers/
http://docs.sonarqube.org/display/DEV/Extend+Web+Applicat...
*9.9 Docker起動できない問題 [#u3e1ac38]
16Gだと起動できたが、
[0.294s][warning][os,thread] Failed to start thread "GC ...
#
# There is insufficient memory for the Java Runtime Envi...
# Cannot create worker GC thread. Out of system resources.
# An error report file with more information is saved as:
# /tmp/hs_err_pid1.log
終了行:
-コードチェックツール。
#contents
*ライセンス [#wa446329]
無料なのはCommunityでそれ以外のバージョンはServerIDに基づ...
*API DOC [#w3cba359]
https://next.sonarqube.com/sonarqube/web_api
|再起動|curl -u admin:admin123 -XPOST http://localhost:90...
|メトリクス一覧|curl -u admin:admin123 -XPOST http://loca...
|プロジェクトごとにメトリクス取得| curl -u admin:admin123...
*バージョニング [#h20258d1]
メジャー.マイナー.パッチ
LTSだとマイナーバージョンは上がらない。LTSのみパッチリリ...
バージョンアップには必ずLTSを挟む必要がある。
*インストール [#wed642bd]
サーバーとクライアントがある。V5.1ではJDK7以上が必要。内...
**Dockerバージョン [#cb5adbe8]
docker run -d --name sonarqube -e SONAR_ES_BOOTSTRAP_CHE...
http://localhost:9000/ のadmin/adminで入れる
mvn compile sonar:sonar -Dsonar.login=admin -Dsonar.pass...
-ESが起動しないことがある vm.max_map_count [65530] is to...
-vm.max_map_count = 262144を/etc/sysctl.confに追加
-sudo sysctl --system
echo "vm.max_map_count = 262144" >> /etc/sysctl.conf
sudo sysctl --system
***9.0だとエラー [#dbf47c1a]
could not find java in ES_JAVA_HOME at /usr/lib/jvm/java...
privileged: trueを加えることで回避できたが、特権付与にな...
dockerのバージョンを最新(公式リポジトリを利用し23.0.3)...
***バージョンアップ時の注意 [#y5999fa6]
-データのマイグレーションは容量に比例するのでなるべくブラ...
-プラグインのディレクトリはクリアしておかないとそのまま引...
-7.9でデフォルトで入っているプラグインを受け継いだまま8.9...
Web server startup failed: The following plugins are no ...
***DB_importの罠 [#yb5ccf95]
-docker-compose stop ではなくdocker-compose downする。
-DBだけupする。流し込む
-その後sonarを立ち上げる。
-docker stop でやると流し込んでもProjectは復元できない
***PHPをスキャン [#n711c215]
+プロジェクト作成
+Sonar-scannerをダウンロードしてパスを通す
+コマンドが出るのでそのとおりに実施
sonar-scanner -Dsonar.projectKey=tftool -Dsonar.sour...
sonar-scannerはmavenやgradlewが使えない時に使うらしい。新...
-設定ファイルはsonar-project.propertiesをroot直下に配置
-実行時オプションを与えた場合はそちらが優先される
上記と同じ値を設定したが、sonar.usernameにtokenを指定して...
sonar.projectKey=tftool
sonar.projectName=php
sonar.sources=.
sonar.host.url=http://localhost:9000
#sonar.login=055fec9a0efce1dc33a10ac3863584417e69eb04
sonar.login=xxx
sonar.password=xxx
sonar.svn.username=xxx
sonar.svn.password.secured=xxx
# javaの場合に必要
sonar.java.binaries=target
projectKeyがユニークなIDで、
ProjectNameは表示上のラベル(表によくでてくるのはこちらで...
**SonarQube Server インストールと起動 [#x7ddbdee]
+zipダウンロード、解凍
+batまたはshをたたく
+http://localhost:9000/にアクセス
**SonarQube YUMインストール [#s263275e]
sudo wget -O /etc/yum.repos.d/sonar.repo http://download...
sudo yum -y install sonar
**Apacheとの連携 [#s5a1a1e2]
-sonar.confとして/etc/httpd/conf.dあたりに配置
ProxyPass /sonar http://localhost:9000/sonar no...
ProxyPassReverse /sonar http://localhost:9000/sonar
ProxyRequests Off
AllowEncodedSlashes NoDecode
-sonar.properties更新
コンテキストパス/sonarを定義する。
sonar.web.context=/sonar
**初期設定管理者アカウント [#h3c6d655]
admin/admin
*設定 [#d2885102]
-SONAR_HOME/conf/sonar.propertiesファイルで設定を行う。My...
sonar.jdbc.username=sonar
sonar.jdbc.password=sonar
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnic...
sonar.web.context=/sonar
事前にsonarデータベースとsonarユーザーを作成しておくこと!
-sonar.web.javaOpts
メモリの設定はこちらで!
**プラグイン [#h4ea5c0a]
プラグインはDB移行ではついてこないので、手動で入れる
|プラグイン名|備考|
|checkstyle||
|Cobertura|A code coverage utility for Java|
***Dockerの場合 [#feeef962]
test_docker_sonarqube_extensions/_data/plugins以下にjar...
*yumインストール [#z89c85bd]
yumパッケージもある
sudo wget -O /etc/yum.repos.d/sonar.repo http://download...
sudo yum install sonar
*コード解析の実行 [#p0ecd99e]
**maven [#j75543d5]
maven-sonar pluginを利用すれば実行可能。デフォルトでlocal...
mvn compile sonar:sonar -Dsonar.java.binaries=target/cla...
*Jenkinsとの連携 [#iaa6f9b0]
*記事 [#y4258d2d]
http://yoshio.velvet.jp/blog/archives/4076
*移行 [#ke9d4a8f]
+DB移行(mysqldump)
+http://SONARSERVER:9000/setupにアクセス(Database is up-t...
*カスタマイズ [#af8e6d77]
ruby on railsをjavaで動かしている模様。viewも.erbファイル...
**view置き場 [#l79facab]
SONARQUBE_DIR/web/WEB-INF/app/views/
**controller置き場 [#p7ca0655]
SONARQUBE_DIR/web/WEB-INF/app/controllers/
http://docs.sonarqube.org/display/DEV/Extend+Web+Applicat...
*9.9 Docker起動できない問題 [#u3e1ac38]
16Gだと起動できたが、
[0.294s][warning][os,thread] Failed to start thread "GC ...
#
# There is insufficient memory for the Java Runtime Envi...
# Cannot create worker GC thread. Out of system resources.
# An error report file with more information is saved as:
# /tmp/hs_err_pid1.log
ページ名: