Jenkins & SonarQube on server: database for SonarQube - marcinogo/robot GitHub Wiki

Baza danych dla SonarQube

Problem

Początkowa konfiguracja SonarQube zakładała użycie bazy danych PostgreSQL stojącej na serwerze Heroku. Jej konfiguracja opisana jest w Isssue #9 w punktach 1, 2 i 3.

Na tym etapie możliwe było łączenie się z Jenkinsem pod adresem https://jenkins-nasz-pan.pl. Udało się również jednokrotnie połączyć z SonarQube pod adresem https://jenkins-nasz-pan.pl/sonar. Niestety przy kolejnych próbach w logach SonarQube (web.log) zaczął pojawiać się błąd Error Connecting to database FATAL : no pg_hba.conf entry for host"x.x.x.x", user"xxx", database"xxx", SSL off. Błąd ten pojawiał się już wcześniej przy konfiguracji Sonara (na localhost:9000) wykorzystującego na swoje potrzeby zewnętrzną bazę danych Heroku Postgres. Poprzednie rozwiązania (https://dba.stackexchange.com/questions/83984/connect-to-postgresql-server-fatal-no-pg-hba-conf-entry-for-host oraz https://stackoverflow.com/questions/17377118/heroku-database-connection-properties) nie przyniosły oczekiwanego skutku.

Rozwiązanie

  1. Przeniesienie bazy danych PostgreSQL z serwera Heroku na ArubaCloud,

  2. Konfiguracja PostgereSQL,

  3. Skonfigurowanie bazdy danych jako serwisu oraz uruchomienie jako serwisu za pomocą komendy sudo systemctl start postgresql,

  4. Edycja pliku sonar.properties.

Prawdopodobną przyczyną problemu było zablokowanie połączenia między bazą na Heroku, a serwisem SonarQube stojącym na ArubaCloud. Można byłoby go również rozwiązać poprzez wspomnianą konfigurację plików PostgreSQL.

Dlaczego zmiana serwera bazy danych, a nie edycja plików konfiguracyjnych na Heroku? Niestety nie mieliśmy do nich dostępu i nie znaleźliśmy sposobu na ich edycję.

W pliku sonar.properties zmieniłem dane logowania oraz url bazy danych odpowiednio w: sonar.jdbc.username=, sonar.jdbc.password= oraz sonar.jdbc.url=.

⚠️ **GitHub.com Fallback** ⚠️