Upgrade to 9.4.0 walkthrough

Must-share information (formatted with Markdown):

  • which versions are you using (SonarQube, Scanner, Plugin, and any relevant extension)
    8.5.1

  • what are you trying to achieve
    Upgrade current version to 9.4.0

  • what have you tried so far to achieve this

I have downloaded the new version and unzipped it on the linux server. After that, I am a bit lost on what to do. I have opened the properties file, and it is all commented out. Not sure what I have to change there. Note, I am not using a localhost:9000 address for my scanned reports. We have a web URL for our own organization. Do I need to put that somewhere?

The problem is that I am running my scans for different folders on the linux server with only the sonar scanner installed and nothing else. I do not have an older properties file to copy from.

I go to the web server, restart the server, then go to the https://yourserverURL/setup, but that gives a message that server is up to date.

Please advise. Thanks

1 Like

Hi,

the upgrade is = your version > next LTS version > latest (optional)
or if more LTS versions on the upgrade path =
your version > next LTS version > next LTS version … > latest (optional)
So in your case it’s Sonarqube 8.5.1 > Sonarqube 8.9.10 LTS > Sonarqube 9.8.0 (latest)
It doesn’t make sense to use some in between version like 9.4.0

You will only get support for LTS and the latest version.

Gilbert

1 Like

Ok so I have got 8.9.10, unzipped it, put it in the directory.

What are the next steps?

The guide says to

  1. Update the contents of sonar.properties file (in <NEW_SONARQUBE_HOME>/conf) with the settings in the <OLD_SONARQUBE_HOME>/conf directory (web server URL, database, ldap settings, etc.). Do not copy-paste the old files. If you are using the Oracle DB, copy its JDBC driver into <NEW_SONARQUBE_HOME>/extensions/jdbc-driver/oracle

But I do not have an old properties file. Do I need to make any changes to the new properties file? For the DB I am using the default Postgres schema.

I am using my own web server with the URL https://sonarqube.orgname.com/. Do I have to put it somewhere in the properties file?

Next the guide says

  1. Stop your old SonarQube Server
  2. Start your new SonarQube Server

That can be done from the Admin → System panel and clicking on ‘Restart Server’, correct?

1 Like

Ok so on more investigation, I checked the directory where the Sonarqube file is copied, and thing is, the guy who installed it does not have the sonar directory as you would expect.

The zip file is there, but the directory is structured as follows:

The person who installed it has now gone, so any idea how to update if your directory is such as this? Was SQ installed through some other method that I don’t know of?

Thanks

1 Like

This looks like an Angular app build with yarn and deployed with pm2.

A Sonarqube installation has these folders, i.e. sonarqube-9.8.0.63668 Community

sq_structure

A normal Sonarqube setup has

  1. Sonarqube installed on a machine running on linux | windows (maybe a virtual machine),
    running as service, see Install the server

  2. Sonarqube DB installed on another server, see Install the server

  3. Sonar plugin and the Sonar CLI scanner installed on your CI/CD system, i.e. Jenkins
    see Jenkins extension for SonarQube

You wrote Sonarqube was already installed - and used ? - before, so the database (2.)
should already exist.

Then

  1. unzip the sonarqube-9.8.0.63668.zip on the machine where Sonarqube is already installed,
    beside the older Sonarqube version

  2. edit the sonarqube-9.8.0.63668/conf/sonar-properties = jdbc connnection, http port … etc.
    see values in the older sonarqube-8.5.1.38104/conf/sonar-properties

  3. if using any thirdparty plugins copy sonarqube-8.5.1.38104/extensions/plugins/*.jar to
    sonarqube-9.8.0.63668/extensions/plugins/

  4. stop the Sonar service and adjust systemd | initd see Operating the server

  5. start the Sonar service and browse http(s)://yoursonarhost/setup and confirm the database migration

Hope that helps,
Gilbert

Thank you for the detailed reply.

This is what I planned to do, but I cannot find any sonarqube-8.5.1.38104/conf folder or any properties file at all.

Is there a way where I can get the required properties data from the http(s)://yoursonarhost/setup and then input that into the new properties file?

Secondly, what is the essential data that I need to enter in the new properties file? For example, currently the DB URL is jdbc:postgresql://localhost/sonarqube, and I know the username, but how do I get the password?

Thanks

then i guess you’re looking at the wrong place for the existing Sonarqube installation
and i can’t help further.

http(s)://yoursonarhost is just an example, as i don’t know the configured url of your Sonarqube installation and http(s)://yoursonarhost/setup is the url you need to browse to start the db migration during the Sonarqube update.

In that case, is there any way in which I can shut down the server from the URL, unzip the Sonarqube installation file in another directory, and then point the installation to the URL without modifying the previously installed files at all?

Basically, can I update the Sonarqube without touching or knowing the previous installation on my linux machine?

Hi,

You can kill -9 the existing SonarQube processes, and then proceed with your install. But I recommend you do a little more detective work first to find the old version.

 
Ann

Hi Ann,

While proceeding to stop my old sonarqube installation, I use the following command

bin/linux-x86-64/sonar.sh force-stop

But what I get after using it is:

Force stopping SonarQube...
temp/sharedmemory (Permission denied)
Waiting for SonarQube to exit...
Waiting for SonarQube to exit...
Waiting for SonarQube to exit...
Waiting for SonarQube to exit...
Waiting for SonarQube to exit...
Waiting for SonarQube to exit...
Waiting for SonarQube to exit...
Waiting for SonarQube to exit...
Waiting for SonarQube to exit...
Waiting for SonarQube to exit...
Waiting for SonarQube to exit...
Waiting for SonarQube to exit...
Waiting for SonarQube to exit...

This loop has been running for more than an hour now.

Any idea what this means?

Thanks

Hi,

I’ve seen this before (took me a while to re-find my internal report).

It looks like you have a plugin installed with unmet dependencies & there were startup errors in your logs that you overlooked. It was fixed in 9.5 - even more reason to be on the latest version.

It looks like you’ll have to kill the process.

 
HTH,
Ann

I did manage to stop the old server, but now I have a new issue as described in the following link:

Thanks!