LoginSignup
3
3

More than 1 year has passed since last update.

今更だけどSonarQubeをDockerで動かす

Last updated at Posted at 2021-07-24

概要

静的解析ツールのSonarQubeを動かしたいけど、全然今時の記事がないので備忘録がてらに。

docker-compose.ymlの設定

docker-compose.yml
version: '3'
services:

  #PHP Service
  app:
  .
  .
  .

  sonarqube:
    image: sonarqube:9.0-community
    depends_on:
      - pgsql
    ports:
      - "9000:9000"
    networks:
      - app-network
    environment:
      SONAR_JDBC_URL: jdbc:postgresql://pgsql:5432/sonar
      SONAR_JDBC_USERNAME: sonar
      SONAR_JDBC_PASSWORD: sonar
    volumes:
      - sonarqube_data:/opt/sonarqube/data
      - sonarqube_extensions:/opt/sonarqube/extensions
      - sonarqube_logs:/opt/sonarqube/logs
      - sonarqube_temp:/opt/sonarqube/temp

  pgsql:
    image: postgres:10
    networks:
      - app-network
    environment:
      POSTGRES_USER: sonar
      POSTGRES_PASSWORD: sonar
    volumes:
      - postgresql:/var/lib/postgresql
      - postgresql_data:/var/lib/postgresql/data

networks:
  app-network:
    driver: bridge

volumes:
  sonarqube_data:
    driver: local
  sonarqube_extensions:
    driver: local
  sonarqube_logs:
    driver: local
  sonarqube_temp:
    driver: local
  postgresql:
    driver: local
  postgresql_data:
    driver: local
$ docker-compose up -d

localhost:9000
でアイパス共に「admin」でログインできる。

スクリーンショット 2021-07-24 14.44.33.png

プロジェクトを作る

localhost:9000/projects/create
にアクセスしてプロジェクトを作成する。

スクリーンショット 2021-07-24 14.58.08.png

ログイントークンを生成し、以下の画面まで到達する。
ローカルなのでログイントークンは公開していますが、サーバー上で動かす場合は、ログイントークンは公開しないでください

スクリーンショット 2021-07-24 14.59.43.png

ダウンロードリンクをクリックし、以下のsonar-scanner-cliのDockerでの操作方法を確認する。

https://docs.sonarqube.org/latest/analysis/scan/sonarscanner/
にてスクリーンショット 2021-07-24 15.02.28.png

いざスキャン!

が、

$ docker run \
    --rm \
    -e SONAR_HOST_URL="http://${SONARQUBE_URL}" \
    -e SONAR_LOGIN="myAuthenticationToken" \
    -v "${YOUR_REPO}:/usr/src" \
    sonarsource/sonar-scanner-cli

では動かない。
Httpディレクトリをスキャンしたい場合は、以下

$ docker run \
    --rm \
    --net host \
    -e SONAR_HOST_URL="http://localhost:9000" \
    -v ${PWD}/app/Http:/usr/src \
    sonarsource/sonar-scanner-cli \
    -Dsonar.projectKey=test \
    -Dsonar.sonar.projectName=test \
    -Dsonar.sonar.projectVersion=1.0 \
    -Dsonar.sonar.sourceEncoding=UTF-8 \
    -Dsonar.sonar.host.url=http://localhost:9000 \
    -Dsonar.login=a242986b52522d94b2b426b8f4c6de343c389487

結果

スクリーンショット 2021-07-24 15.08.07.png

参照

Error running sonar-scanner via docker image
sonarqube Doc

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3