0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

SonarQubeのDockerContainerをUpdateした話

Last updated at Posted at 2020-10-06

はじめに

SonarQubeをDockerContainerにしてみた話SonarQube のその後の話です。

経緯

ある開発のお手伝いをしたのですがオンプレミス環境でかなり古いバージョンの SonarQube を利用していて微妙な状態でした。
個人的に2年近く前にSonarQubeのDockerContainer化をしていたので、最新のバージョンにして提供しましたのでその際の備忘です。

実施したこと

  • SonarQube Ver 7.4 を SonarQube Ver 8.4.2に変更
  • SonarQube用のDBを MySQL から PostgreSQL Ver 13.0 に変更(End of Life of MySQL Support
  • docker-composeファイルを Ver 3 に変更

SonarQube Ver 7.4 を SonarQube Ver 8.4.2に変更

利用するContaner Imageを sonarqube:8.4.2-community に変更するだけの簡単な作業です。

  # SonarQube Server
  sonarqube-server:
    container_name: sonarqube-server
    image: sonarqube:8.4.2-community

SonarQube用のDBを MySQL から PostgreSQL Ver 13.0 に変更

End of Life of MySQL Support の通り、最新の SonarQube ではMySQLがサポートされないためPostgreSQLに乗り換えます。

利用するContaner Imageを postgres:13.0-alpine に変更し、公式ガイドを参考に volumesenvironment を変更します。
合わせてcontainer_nameなどもわかりやすいものに変更します。

  # SonarQube Server用Database
  postgres-sonarqube:
    container_name: postgres-sonarqube
    image: postgres:13.0-alpine
    volumes:
      - "./data/postgresql/init:/docker-entrypoint-initdb.d"
      - "./data/postgresql/db:/var/lib/postgresql"
    ports:
      - "5432:5432"
    networks:
      - sonarqube-server-network
    environment:
      - POSTGRES_USER=sonar
      - POSTGRES_PASSWORD=sonar
      - POSTGRES_DB=sonar

また、 SonarQube ContanerのDB接続情報(environment)も変更します。

  # SonarQube Server
  sonarqube-server:
    container_name: sonarqube-server
    image: sonarqube:8.4.2-community
    command: -Dsonar.web.context=/sonarqube
    links:
      - postgres-sonarqube:postgres
    volumes:
      - ./data/sonarqube/extensions/plugin:/opt/sonarqube/extensions/plugins
    ports:
      - "9000:9000"
      - "9092:9092"
    networks:
      - sonarqube-server-network
    environment:
      - SONARQUBE_JDBC_USERNAME=sonar
      - SONARQUBE_JDBC_PASSWORD=sonar
      - "SONARQUBE_JDBC_URL=jdbc:postgresql://postgres-sonarqube:5432/sonar"

docker-composeファイルを Ver 3 に変更

今はVer3が主流なので、docker-composeファイルのversionsも 3 に変更します。

version: '3'
services:

動作確認

ここまで対応したら、以下のコマンドで動作確認をして作業終了です。

docker-compose up --force-recreate sonarqube-server

感想

データ移行は考慮しないバージョンアップ作業が主なので簡単でした。
改めてDocker Container化しておくとこの辺は簡単で良いと感じました。
これでしばらくは頑張れそうですね。

本記事の対応は以下のgithubリポジトリに公開していますので興味ありましたら参考にしてください。
https://github.com/awakuwaku/sonar-qube-docker

参考

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?