Я пытаюсь запустить Gerrit в контейнере Docker вместе с Postgres и Apache, следуя инструкциям в https://medium.com/@joonasvenlinen / gerrit-with-http-authentication-1e7ae5fb7359 . Я могу запустить postgres и apache без проблем, но Gerrit завершается ошибкой со следующей ошибкой:
gerrit_1 | [2020-04-13 19:45:22,460] [main] ERROR com.google.gerrit.pgm.Daemon : Unable to start daemon
gerrit_1 | com.google.inject.ProvisionException: Unable to provision, see the following errors:
gerrit_1 |
gerrit_1 | 1) Error injecting constructor, java.lang.RuntimeException: Cannot load secure.config
gerrit_1 | at com.google.gerrit.server.securestore.DefaultSecureStore.<init>(DefaultSecureStore.java:41)
gerrit_1 | at com.google.gerrit.server.securestore.DefaultSecureStore.class(DefaultSecureStore.java:41)
gerrit_1 | while locating com.google.gerrit.server.securestore.DefaultSecureStore
gerrit_1 | while locating com.google.gerrit.server.securestore.SecureStoreProvider
gerrit_1 | at com.google.gerrit.server.config.GerritServerConfigModule.configure(GerritServerConfigModule.java:80)
gerrit_1 | while locating com.google.gerrit.server.securestore.SecureStore
gerrit_1 | for the 2nd parameter of com.google.gerrit.server.config.GerritServerConfigProvider.<init>(GerritServerConfigProvider.java:55)
gerrit_1 | at com.google.gerrit.server.config.GerritServerConfigProvider.class(GerritServerConfigProvider.java:43)
gerrit_1 | while locating com.google.gerrit.server.config.GerritServerConfigProvider
gerrit_1 | while locating org.eclipse.jgit.lib.Config annotated with @com.google.gerrit.server.config.GerritServerConfig()
gerrit_1 | for the 1st parameter of com.google.gerrit.server.config.RepositoryConfig.<init>(RepositoryConfig.java:44)
gerrit_1 | at com.google.gerrit.server.config.RepositoryConfig.class(RepositoryConfig.java:39)
gerrit_1 | while locating com.google.gerrit.server.config.RepositoryConfig
gerrit_1 | for the 1st parameter of com.google.gerrit.server.git.GitRepositoryManagerModule.<init>(GitRepositoryManagerModule.java:26)
gerrit_1 | while locating com.google.gerrit.server.git.GitRepositoryManagerModule
Мой файл gerrit.config выглядит следующим образом:
[gerrit]
basePath = git
canonicalWebUrl = http://<server-name>:8080/
[database]
type = postgresql
hostname = localhost
database = reviewdb
username = gerrit2
[index]
type = LUCENE
[auth]
type = HTTP
logoutUrl = http://aa:aa@<server-name>:8080/logout
httpHeader =
[sendemail]
smtpServer = localhost
smtpUser = gerrit2
[plugins]
allowRemoteAdmin = true
[container]
javaOptions = "-Dflogger.backend_factory=com.google.common.flogger.backend.log4j.Log4jBackendFactory#getInstance"
javaOptions = "-Dflogger.logging_context=com.google.gerrit.server.logging.LoggingContext#getInstance"
user = gerrit2
javaHome = /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.232.b09-0.el7_7.x86_64/jre
javaOptions = -Djava.security.egd=file:/dev/./urandom
javaOptions = -Djava.security.egd=file:/dev/./urandom
javaOptions = -Djava.security.egd=file:/dev/./urandom
javaOptions = -Djava.security.egd=file:/dev/./urandom
[receive]
enableSignedPush = false
[httpd]
listenUrl = http://*:8080/
[cache]
directory = cache
[sshd]
listenAddress = *:29418
[user]
name = gerrit2
email = gerrit2@whoi.edu
Обновление: изменение прав доступа к файлу secure.config, которое, как представляется, является рекомендуемым действием, вызывает другую ошибку, требующую перестройки файла gerrit.war. Это приводит к ошибке secure.config, поэтому кажется, что я зацикливаюсь на двух разных исключениях.
Любые указатели приветствуются. Спасибо!