运行gerritcodereview/gerrit
Docker容器时。 Gerrit已安装在容器中的/var/gerrit
目录中。但是,当尝试通过docker cp
插件.jar文件(从https://gerrit-ci.gerritforge.com/job/plugin-its-jira-bazel-stable-2.16/下载到/var/gerrit/plugins
目录)安装插件时,插件未显示在已安装插件的列表中。尽管我重新启动了容器。
我用以下方法跑了吉里特语:
docker run -ti -p 8080:8080 -p 29418:29418 gerritcodereview/gerrit
可以通过以下方式访问Gerrit: http://localhost:8080/admin/plugins
我在插件管理器中也有一个插件列表,但是不知道如何在列表中添加更多插件,因此尝试在[httpd]中使用gerrit-ci.gerritforge.com url。 http://localhost:8080/plugins/plugin-manager/static/index.html
我的gerrit.config
文件如下:
[gerrit]
basePath = git
serverId = 62b710a2-3947-4e96-a196-6b3fb1f6bc2c
canonicalWebUrl = http://10033a3fe5b7
[database]
type = h2
database = db/ReviewDB
[index]
type = LUCENE
[auth]
type = DEVELOPMENT_BECOME_ANY_ACCOUNT
[sendemail]
smtpServer = localhost
[sshd]
listenAddress = *:29418
[httpd]
listenUrl = http://*:8080/
filterClass = com.googlesource.gerrit.plugins.ootb.FirstTimeRedirect
firstTimeRedirectUrl = /login/%23%2F?account_id=1000000
[cache]
directory = cache
[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 = gerrit
javaHome = /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.212.b04-0.el7_6.x86_64/jre
javaOptions = -Djava.security.egd=file:/dev/./urandom
[receive]
enableSignedPush = false
[noteDb "changes"]
autoMigrate = true
答案 0 :(得分:0)
我非常确定Gerrit可以从/var/gerrit
运行,即使是您的版本也是如此,因为这是我以前使用的版本。
为什么不将docker-compose与自定义Dockerfile一起使用。这样,您可以轻松地重新创建映像,而无需担心升级版本后会再次添加插件的情况。
我建议您使用这些脚本,并将其用于测试。
这是我先前的2.16安装的Dockerfile的样子:
FROM gerritcodereview/gerrit:2.16.8
# Add custom plugins that are not downloaded from the web
COPY ./plugins/* /var/gerrit/plugins/
# Add logo
COPY ./static/* /var/gerrit/static/
ADD https://gerrit-ci.gerritforge.com/view/Plugins-stable-2.16/job/plugin-avatars-gravatar-bazel-master-stable-2.16/lastSuccessfulBuild/artifact/bazel-genfiles/plugins/avatars-gravatar/avatars-gravatar.jar /var/gerrit/plugins/
USER root
# Fix any permissions
RUN chown -R gerrit:gerrit /var/gerrit
USER gerrit
ENV CANONICAL_WEB_URL=https://gerrit.mycompoany.net/r/
在docker-compose.yml下面
version: '3.4'
services:
gerrit:
build: .
ports:
- "29418:29418"
- "8080:8080"
restart: unless-stopped
volumes:
- /external/gerrit2.16/etc:/var/gerrit/etc
- /external/gerrit2.16/git:/var/gerrit/git
- /external/gerrit2.16/index:/var/gerrit/index
- /external/gerrit2.16/cache:/var/gerrit/cache
- /external/gerrit2.16/logs:/var/gerrit/logs
- /external/gerrit2.16/.ssh:/var/gerrit/.ssh
# entrypoint: java -jar /var/gerrit/bin/gerrit.war init --install-all-plugins -d /var/gerrit
# entrypoint: java -jar /var/gerrit/bin/gerrit.war reindex -d /var/gerrit
答案 1 :(得分:0)
最终找到了一种适用于我的用例的方法。
ssh -p 29418 my_gerrit_admin_username@localhost gerrit plugin install -n its-base.jar https://gerrit-ci.gerritforge.com/job/plugin-its-base-bazel-stable-2.16/lastSuccessfulBuild/artifact/bazel-bin/plugins/its-base/its-base.jar