workflows
docker:
- steps:
- checkout
- build code
- scan repo – sonar scan
- docker scan
- publish image
setup sonarqube
-
install docker
curl -fsSL https://get.docker.com -o install-docker.sh && sh install-docker.shsudo sysctl -w vm.max_map_count=524288 && sudo sysctl -w fs.file-max=131072 -
create dir
mkdir -p /opt/sonarqube/datamkdir -p /opt/sonarqube/extensionsmkdir -p /opt/sonarqube/logs
-
create docker-compose.yaml
version: "3.8"
services:
sonarqube:
image: sonarqube:community
container_name: sonarqube
depends_on:
- db
ports:
- "9000:9000"
networks:
- sonarnet
environment:
- SONAR_JDBC_URL=jdbc:postgresql://db:5432/sonar
- SONAR_JDBC_USERNAME=sonar
- SONAR_JDBC_PASSWORD=sonar_secure_pass
volumes:
- sonarqube_data:/opt/sonarqube/data
- sonarqube_extensions:/opt/sonarqube/extensions
- sonarqube_logs:/opt/sonarqube/logs
db:
image: postgres:15
container_name: postgres_db
networks:
- sonarnet
environment:
- POSTGRES_USER=sonar
- POSTGRES_PASSWORD=sonar_secure_pass
- POSTGRES_DB=sonar
volumes:
- postgres_data:/var/lib/postgresql/data
networks:
sonarnet:
volumes:
sonarqube_data:
sonarqube_extensions:
sonarqube_logs:
postgres_data:
<image_name> == sonarqube (https://hub.docker.com/_/sonarqube)
-
docker compose up -d && docker ps
-
connect from broswer http://<ipaddress>:9000
install sonar-scanner & run below command
sonar-scanner \
-Dsonar.projectKey=spring-petclinic \
-Dsonar.sources=. \
-Dsonar.host.url=http://34.202.229.72:9000 \
-Dsonar.token=sqp_64327abf992997004dde4c8236f1250f019be980
