概要
Docker Compose (Preview) を使うことでデータの消失を防ぎ、さらにストレージを使わないことでコストを抑えます。 Plan B2 でサクサク動作します。
注意点として SQL Database などのストレージを組み合わせたほうが App Service の拡張が難しい小さなストレージにも心配することなく SonarQube のアップデートにも対応できます。コストを使えるならその構成のほうがよいです。あくまでスモールスタート用です。
docker-compose.yml
version: "3"
services:
sonarqube:
image: sonarqube:8.9-community
ports:
- "9000:9000"
networks:
- sonarnet
volumes:
- sonarqube_data:/opt/sonarqube/data
- sonarqube_extensions:/opt/sonarqube/extensions
- sonarqube_logs:/opt/sonarqube/logs
- sonarqube_temp:/opt/sonarqube/temp
networks:
sonarnet:
driver: bridge
volumes:
sonarqube_data:
sonarqube_extensions:
sonarqube_logs:
sonarqube_temp:
Web App for Container
このサンプルは Azure Portal での設定方法になります。
起動後に少し経過してから https://<YOUE_APP_NAME>.azurewebsites.net
にアクセスすると SonarQube が実行されています。
参考文献
- SonarSource/docker-sonarqube: SonarQube in Docker
- VM and SQL Database の場合: Setup SonarQube Server on Azure VM | Azure DevOps Hands-on-Labs
- Azure Container Instance の場合: Managing technical debt with SonarQube and Azure DevOps | Azure DevOps Hands-on-Labs
- ※ ACI のインスタンスを再起動すると SonarQube の構成は消えます