将 Sonarqube 从 8.2 升级到 9.9 lts

问题描述 投票:0回答:1

我正在尝试使用 docker compose 将我的 sonarqube 从 8.2 升级到 9.9 版本。

我正在使用 postgres 作为数据库,并且也从 8.2 进行了数据备份,现在我创建了新文件夹并复制了所有备份数据并附加到新的 sonarqube。

但是当我启动容器时,在 docker 日志中出现以下错误,容器没有启动:

2023.04.15 12:28:05 INFO  web[][o.s.s.p.LogServerVersion] SonarQube Server / 9.9.0.65466 / ce743843018827cb30c05735e7971523de34bb48
2023.04.15 12:28:05 INFO  web[][o.sonar.db.Database] Create JDBC data source for jdbc:postgresql://db:5432/sonar
2023.04.15 12:28:05 INFO  web[][c.z.h.HikariDataSource] HikariPool-1 - Starting...
2023.04.15 12:28:05 INFO  web[][c.z.h.p.HikariPool] HikariPool-1 - Added connection org.postgresql.jdbc.PgConnection@123456
2023.04.15 12:28:05 INFO  web[][c.z.h.HikariDataSource] HikariPool-1 - Start completed.
2023.04.15 12:28:07 INFO  web[][o.s.s.p.ServerFileSystemImpl] SonarQube home: /opt/sonarqube
2023.04.15 12:28:07 INFO  web[][o.s.s.u.SystemPasscodeImpl] System authentication by passcode is disabled
2023.04.15 12:28:07 WARN  web[][o.s.c.a.AnnotationConfigApplicationContext] Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jdk.internal.loader.ClassLoaders$AppClassLoader@12345-org.sonar.server.platform.DatabaseServerCompatibility': Initialization of bean failed; nested exception is Current version is too old. Please upgrade to Long Term Support version firstly.
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jdk.internal.loader.ClassLoaders$AppClassLoader@123456-org.sonar.server.platform.DatabaseServerCompatibility': Initialization of bean failed; nested exception is Current version is too old. Please upgrade to Long Term Support version firstly.
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:628)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542)
    at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:955)
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:918)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583)
    at org.sonar.core.platform.SpringComponentContainer.startComponents(SpringComponentContainer.java:187)
    at org.sonar.server.platform.platformlevel.PlatformLevel.start(PlatformLevel.java:80)
    at org.sonar.server.platform.platformlevel.PlatformLevel2.start(PlatformLevel2.java:103)
    at org.sonar.server.platform.PlatformImpl.start(PlatformImpl.java:196)
    at org.sonar.server.platform.PlatformImpl.startLevel2Container(PlatformImpl.java:169)
    at org.sonar.server.platform.PlatformImpl.init(PlatformImpl.java:77)
    at org.sonar.server.platform.web.PlatformServletContextListener.contextInitialized(PlatformServletContextListener.java:43)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4764)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5222)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1393)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1383)
    at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
    at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
    at java.base/java.util.concurrent.AbstractExecutorService.submit(Unknown Source)
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:916)
    at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:835)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1393)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1383)
    at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
    at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
    at java.base/java.util.concurrent.AbstractExecutorService.submit(Unknown Source)
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:916)
    at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:265)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
    at org.apache.catalina.core.StandardService.startInternal(StandardService.java:430)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
    at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:930)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
    at org.sonar.server.app.EmbeddedTomcat.start(EmbeddedTomcat.java:72)
    at org.sonar.server.app.WebServer.start(WebServer.java:55)
    at org.sonar.process.ProcessEntryPoint.launch(ProcessEntryPoint.java:97)
    at org.sonar.process.ProcessEntryPoint.launch(ProcessEntryPoint.java:81)
    at org.sonar.server.app.WebServer.main(WebServer.java:104)
Caused by: org.sonar.api.utils.MessageException: Current version is too old. Please upgrade to Long Term Support version firstly.
2023.04.15 12:28:07 INFO  web[][c.z.h.HikariDataSource] HikariPool-1 - Shutdown initiated...
2023.04.15 12:28:07 INFO  web[][c.z.h.HikariDataSource] HikariPool-1 - Shutdown completed.
2023.04.15 12:28:08 INFO  web[][o.s.s.a.EmbeddedTomcat] HTTP connector enabled on port 9000
2023.04.15 12:28:08 INFO  web[][o.s.p.ProcessEntryPoint] Hard stopping process
2023.04.15 12:28:08 INFO  app[][o.s.a.SchedulerImpl] Process[Web Server] is stopped
2023.04.15 12:28:08 WARN  app[][o.s.a.p.AbstractManagedProcess] Process exited with exit value [ElasticSearch]: 143
2023.04.15 12:28:08 INFO  app[][o.s.a.SchedulerImpl] Process[ElasticSearch] is stopped
2023.04.15 12:28:08 INFO  app[][o.s.a.SchedulerImpl] SonarQube is stopped
2023.04.15 12:28:09 INFO  app[][o.s.a.AppFileSystem] Cleaning or creating temp directory /opt/sonarqube/temp

这是我的 docker-compose 文件:

version: "3.3"
services:
  sonarqube:
          #    image: sonarqube:8.9-community       
    build:
      context: ./sonarqube/
    container_name: sonarqube
    restart: always
    depends_on:
      - db
    networks:
      - sonarnet
    environment:
      SONAR_JDBC_URL: jdbc:postgresql://db:5432/sonar
      SONAR_JDBC_USERNAME: sonar
      SONAR_JDBC_PASSWORD: sonar
    volumes:
      - /home/ubuntu/sonar/sonar_bk/sonarqube_data:/opt/sonarqube/data
      - /home/ubuntu/sonar/sonar_bk/sonarqube_extensions:/opt/sonarqube/extensions
      - /home/ubuntu/sonar/sonar_bk/sonarqube_logs:/opt/sonarqube/logs
  db:
    image: postgres:12
    container_name: postgres
    restart: always
    networks:
      - sonarnet
    environment:
      POSTGRES_USER: sonar
      POSTGRES_PASSWORD: sonar
    volumes:
     - /home/ubuntu/sonar/sonar_bk/postgresql:/var/lib/postgresql
     - /home/ubuntu/sonar/sonar_bk/postgresql_data:/var/lib/postgresql/data

networks:
  sonarnet:
    driver: bridge

这里我使用的是 postgres 12,因为我之前的配置只配置了 12。

并使用 docker 版本 23

我使用了 sonarqube 9.9 github repo 中的 dockerfile.

我该如何解决,提前致谢。

docker-compose sonarqube upgrade
1个回答
0
投票

根据 Sonarqube 的文档,您不能只从旧版本升级到最新版本。在达到目标之前,您必须先升级所有以前的最新 LTS 版本。

https://docs.sonarqube.org/latest/setup-and-upgrade/upgrade-the-server/before-you-upgrade/#migration-path

我认为在您的情况下,您必须先升级到 8.9LTS,然后才能升级到 9.9LTS。

© www.soinside.com 2019 - 2024. All rights reserved.