Merge branch 'stable-2.16' into stable-3.0
* stable-2.16:
Set Gerrit to 2.16.22
Change-Id: I81a9e12d288ed8dd076595a2d0407e6a88408318
diff --git a/README.md b/README.md
index e5eb1b0..2fac467 100644
--- a/README.md
+++ b/README.md
@@ -28,15 +28,15 @@
## Build docker image
For docker images that contain released Gerrit versions, tags exist in this git repository pointing
-to a state of the repository, where this version of Gerrit (e.g. 2.15.4) is referenced in the
+to a state of the repository, where this version of Gerrit (e.g. 3.0.0) is referenced in the
Dockerfiles. To build such a docker image for development purposes, checkout the respective version
tag, e.g.:
```
-git checkout v2.15.4
+git checkout v3.0.0
```
-Navigate to either `./centos/7` or `./ubuntu/16` to build the centos- or ubuntu-based docker image,
+Navigate to either `./centos/7` or `./ubuntu/18` to build the centos- or ubuntu-based docker image,
respectively. Then run:
```
@@ -111,11 +111,12 @@
volumes:
- /external/gerrit/etc:/var/gerrit/etc
- /external/gerrit/git:/var/gerrit/git
+ - /external/gerrit/db:/var/gerrit/db
- /external/gerrit/index:/var/gerrit/index
- /external/gerrit/cache:/var/gerrit/cache
environment:
- CANONICAL_WEB_URL=http://localhost
-# entrypoint: java -jar /var/gerrit/bin/gerrit.war init -d /var/gerrit
+ # entrypoint: /entrypoint.sh init
ldap:
image: osixia/openldap
@@ -143,10 +144,6 @@
basePath = git
canonicalWebUrl = http://localhost
-[database]
- type = h2
- database = db/ReviewDB
-
[index]
type = LUCENE
@@ -187,9 +184,8 @@
### Initialize Gerrit DB and Git repositories with Docker
The external filesystem needs to be initialized with gerrit.war beforehand:
-- ReviewDB created and populated with the initial DDL
-- All-Projects, All-Groups and All-Users Git repositories created in Gerrit
-- System Group UUIDs created in Git repositories and initialized in ReviewDB
+- All-Projects and All-Users Git repositories created in Gerrit
+- System Group UUIDs created in Git repositories
The initialization can be done as a one-off operation before starting all containers.
diff --git a/centos/7/.dockerignore b/centos/7/.dockerignore
new file mode 100644
index 0000000..a8c4f8a
--- /dev/null
+++ b/centos/7/.dockerignore
@@ -0,0 +1 @@
+/var/gerrit/.gerritcodereview
diff --git a/centos/7/Dockerfile b/centos/7/Dockerfile
index a9cb2fe..cc8fb0c 100644
--- a/centos/7/Dockerfile
+++ b/centos/7/Dockerfile
@@ -1,22 +1,22 @@
-FROM centos:7.5.1804
+FROM centos:7.6.1810
MAINTAINER Gerrit Code Review Community
# Add Gerrit packages repository
RUN rpm -i https://gerritforge.com/gerritforge-repo-1-2.noarch.rpm
+ADD entrypoint.sh /
+
# Install OS pre-prequisites, OpenJDK and Gerrit in two subsequent transactions
# (pre-trans Gerrit script needs to have access to the Java command)
RUN yum -y install initscripts && \
yum -y install java-1.8.0-openjdk && \
- yum -y install gerrit-2.16.22-1 && rm -Rf /var/gerrit/{logs,tmp}/* && rm -Rf /var/gerrit/.gerritcodereview && \
+ yum -y install gerrit-3.0.11-1 && \
+ /entrypoint.sh init && \
+ rm -f /var/gerrit/etc/{ssh,secure}* && rm -Rf /var/gerrit/{static,index,logs,data,index,cache,git,db,tmp}/* && chown -R gerrit:gerrit /var/gerrit && \
yum -y clean all
USER gerrit
-RUN java -jar /var/gerrit/bin/gerrit.war init --batch --install-all-plugins -d /var/gerrit && \
- java -jar /var/gerrit/bin/gerrit.war reindex -d /var/gerrit && \
- git config -f /var/gerrit/etc/gerrit.config --add container.javaOptions "-Djava.security.egd=file:/dev/./urandom"
-
ENV CANONICAL_WEB_URL=
# Allow incoming traffic
@@ -24,7 +24,4 @@
VOLUME ["/var/gerrit/git", "/var/gerrit/index", "/var/gerrit/cache", "/var/gerrit/db", "/var/gerrit/etc"]
-# Start Gerrit
-CMD git config -f /var/gerrit/etc/gerrit.config gerrit.canonicalWebUrl "${CANONICAL_WEB_URL:-http://$HOSTNAME}" && \
- git config -f /var/gerrit/etc/gerrit.config noteDb.changes.autoMigrate true && \
- /var/gerrit/bin/gerrit.sh run
+ENTRYPOINT /entrypoint.sh
diff --git a/centos/7/Dockerfile-dev b/centos/7/Dockerfile-dev
index 0f19627..2c2ee44 100644
--- a/centos/7/Dockerfile-dev
+++ b/centos/7/Dockerfile-dev
@@ -1,4 +1,4 @@
-FROM centos:7.5.1804
+FROM centos:7.6.1810
MAINTAINER Gerrit Code Review Community
ARG GERRIT_WAR_URL="https://gerrit-ci.gerritforge.com/view/Gerrit/job/Gerrit-bazel-master/lastSuccessfulBuild/artifact/gerrit/bazel-bin/release.war"
@@ -13,6 +13,8 @@
git && \
yum -y clean all
+ADD entrypoint.sh /
+
RUN adduser -m gerrit --home-dir /home/gerrit && \
mkdir -p /var/gerrit/bin && \
chown -R gerrit /var/gerrit
@@ -21,8 +23,6 @@
RUN mkdir -p /var/gerrit/etc && \
touch /var/gerrit/etc/gerrit.config && \
git config -f /var/gerrit/etc/gerrit.config auth.type DEVELOPMENT_BECOME_ANY_ACCOUNT && \
- java -jar /var/gerrit/bin/gerrit.war init --dev --batch --install-all-plugins --no-auto-start -d /var/gerrit && \
- java -jar /var/gerrit/bin/gerrit.war reindex -d /var/gerrit && \
git config --add -f /var/gerrit/etc/gerrit.config container.javaOptions "-Djava.security.egd=file:/dev/./urandom"
ENV CANONICAL_WEB_URL=
@@ -32,7 +32,4 @@
VOLUME ["/var/gerrit/git", "/var/gerrit/index", "/var/gerrit/cache", "/var/gerrit/db", "/var/gerrit/etc"]
-# Start Gerrit
-CMD git config -f /var/gerrit/etc/gerrit.config gerrit.canonicalWebUrl "${CANONICAL_WEB_URL:-http://$HOSTNAME:8080/}" && \
- git config -f /var/gerrit/etc/gerrit.config noteDb.changes.autoMigrate true && \
- /var/gerrit/bin/gerrit.sh run
\ No newline at end of file
+ENTRYPOINT /entrypoint.sh
diff --git a/centos/7/entrypoint.sh b/centos/7/entrypoint.sh
new file mode 100755
index 0000000..cb459b5
--- /dev/null
+++ b/centos/7/entrypoint.sh
@@ -0,0 +1,17 @@
+#!/bin/bash -e
+
+if [ ! -d /var/gerrit/git/All-Projects.git ] || [ "$1" == "init" ]
+then
+ echo "Initializing Gerrit site ..."
+ java -jar /var/gerrit/bin/gerrit.war init --batch --install-all-plugins -d /var/gerrit
+ java -jar /var/gerrit/bin/gerrit.war reindex -d /var/gerrit
+ git config -f /var/gerrit/etc/gerrit.config --add container.javaOptions "-Djava.security.egd=file:/dev/./urandom"
+fi
+
+git config -f /var/gerrit/etc/gerrit.config gerrit.canonicalWebUrl "${CANONICAL_WEB_URL:-http://$HOSTNAME}"
+
+if [ "$1" != "init" ]
+then
+ echo "Running Gerrit ..."
+ exec /var/gerrit/bin/gerrit.sh run
+fi
diff --git a/ubuntu/16/Dockerfile b/ubuntu/16/Dockerfile
deleted file mode 100644
index 6b4be31..0000000
--- a/ubuntu/16/Dockerfile
+++ /dev/null
@@ -1,32 +0,0 @@
-FROM ubuntu:16.04
-MAINTAINER Gerrit Code Review Community
-
-# Add Gerrit packages repository
-RUN echo "deb mirror://mirrorlist.gerritforge.com/deb gerrit contrib" > /etc/apt/sources.list.d/GerritForge.list
-RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 1871F775
-
-RUN apt-get update
-RUN apt-key update
-RUN apt-get -y install sudo
-
-# Install OpenJDK and Gerrit in two subsequent transactions
-# (pre-trans Gerrit script needs to have access to the Java command)
-RUN apt-get -y install openjdk-8-jdk
-RUN apt-get -y install gerrit=2.16.22-1 && apt-mark hold gerrit && rm -f /var/gerrit/logs/*
-
-USER gerrit
-RUN java -jar /var/gerrit/bin/gerrit.war init --batch --install-all-plugins -d /var/gerrit
-RUN java -jar /var/gerrit/bin/gerrit.war reindex -d /var/gerrit
-RUN git config -f /var/gerrit/etc/gerrit.config --add container.javaOptions "-Djava.security.egd=file:/dev/./urandom"
-
-ENV CANONICAL_WEB_URL=
-
-# Allow incoming traffic
-EXPOSE 29418 8080
-
-VOLUME ["/var/gerrit/git", "/var/gerrit/index", "/var/gerrit/cache", "/var/gerrit/db", "/var/gerrit/etc"]
-
-# Start Gerrit
-CMD git config -f /var/gerrit/etc/gerrit.config gerrit.canonicalWebUrl "${CANONICAL_WEB_URL:-http://$HOSTNAME}" && \
- git config -f /var/gerrit/etc/gerrit.config noteDb.changes.autoMigrate true && \
- /var/gerrit/bin/gerrit.sh run
diff --git a/ubuntu/18/.dockerignore b/ubuntu/18/.dockerignore
new file mode 100644
index 0000000..a8c4f8a
--- /dev/null
+++ b/ubuntu/18/.dockerignore
@@ -0,0 +1 @@
+/var/gerrit/.gerritcodereview
diff --git a/ubuntu/18/Dockerfile b/ubuntu/18/Dockerfile
new file mode 100644
index 0000000..8edc60b
--- /dev/null
+++ b/ubuntu/18/Dockerfile
@@ -0,0 +1,33 @@
+FROM ubuntu:18.04
+MAINTAINER Gerrit Code Review Community
+
+# Add Gerrit packages repository
+RUN apt-get update && \
+ apt-get -y install gnupg2
+RUN echo "deb mirror://mirrorlist.gerritforge.com/bionic gerrit contrib" > /etc/apt/sources.list.d/GerritForge.list
+RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 847005AE619067D5
+
+RUN apt-get update
+RUN apt-key update
+RUN apt-get -y install sudo
+
+ADD entrypoint.sh /
+
+# Install OpenJDK and Gerrit in two subsequent transactions
+# (pre-trans Gerrit script needs to have access to the Java command)
+RUN apt-get -y install openjdk-8-jdk
+RUN apt-get -y install gerrit=3.0.11-1 && \
+ apt-mark hold gerrit && \
+ /entrypoint.sh init && \
+ rm -f /var/gerrit/etc/{ssh,secure}* && rm -Rf /var/gerrit/{static,index,logs,data,index,cache,git,db,tmp}/* && chown -R gerrit:gerrit /var/gerrit
+
+USER gerrit
+
+ENV CANONICAL_WEB_URL=
+
+# Allow incoming traffic
+EXPOSE 29418 8080
+
+VOLUME ["/var/gerrit/git", "/var/gerrit/index", "/var/gerrit/cache", "/var/gerrit/db", "/var/gerrit/etc"]
+
+ENTRYPOINT /entrypoint.sh
diff --git a/ubuntu/16/Dockerfile-dev b/ubuntu/18/Dockerfile-dev
similarity index 70%
rename from ubuntu/16/Dockerfile-dev
rename to ubuntu/18/Dockerfile-dev
index 5b8cfae..761b9d6 100644
--- a/ubuntu/16/Dockerfile-dev
+++ b/ubuntu/18/Dockerfile-dev
@@ -1,4 +1,4 @@
-FROM ubuntu:16.04
+FROM ubuntu:18.04
MAINTAINER Gerrit Code Review Community
ARG GERRIT_WAR_URL="https://gerrit-ci.gerritforge.com/view/Gerrit/job/Gerrit-bazel-master/lastSuccessfulBuild/artifact/gerrit/bazel-bin/release.war"
@@ -11,6 +11,8 @@
git && \
rm -rf /var/lib/apt/lists/*
+ADD entrypoint.sh /
+
RUN adduser --disabled-password --gecos "" gerrit --home /home/gerrit && \
mkdir -p /var/gerrit/bin && \
chown -R gerrit /var/gerrit
@@ -19,8 +21,6 @@
RUN mkdir -p /var/gerrit/etc && \
touch /var/gerrit/etc/gerrit.config && \
git config -f /var/gerrit/etc/gerrit.config auth.type DEVELOPMENT_BECOME_ANY_ACCOUNT && \
- java -jar /var/gerrit/bin/gerrit.war init --dev --batch --install-all-plugins -d /var/gerrit && \
- java -jar /var/gerrit/bin/gerrit.war reindex -d /var/gerrit && \
git config --add -f /var/gerrit/etc/gerrit.config container.javaOptions "-Djava.security.egd=file:/dev/./urandom"
ENV CANONICAL_WEB_URL=
@@ -30,7 +30,4 @@
VOLUME ["/var/gerrit/git", "/var/gerrit/index", "/var/gerrit/cache", "/var/gerrit/db", "/var/gerrit/etc"]
-# Start Gerrit
-CMD git config -f /var/gerrit/etc/gerrit.config gerrit.canonicalWebUrl "${CANONICAL_WEB_URL:-http://$HOSTNAME:8080/}" && \
- git config -f /var/gerrit/etc/gerrit.config noteDb.changes.autoMigrate true && \
- /var/gerrit/bin/gerrit.sh run
+ENTRYPOINT /entrypoint.sh
diff --git a/ubuntu/18/entrypoint.sh b/ubuntu/18/entrypoint.sh
new file mode 100755
index 0000000..cb459b5
--- /dev/null
+++ b/ubuntu/18/entrypoint.sh
@@ -0,0 +1,17 @@
+#!/bin/bash -e
+
+if [ ! -d /var/gerrit/git/All-Projects.git ] || [ "$1" == "init" ]
+then
+ echo "Initializing Gerrit site ..."
+ java -jar /var/gerrit/bin/gerrit.war init --batch --install-all-plugins -d /var/gerrit
+ java -jar /var/gerrit/bin/gerrit.war reindex -d /var/gerrit
+ git config -f /var/gerrit/etc/gerrit.config --add container.javaOptions "-Djava.security.egd=file:/dev/./urandom"
+fi
+
+git config -f /var/gerrit/etc/gerrit.config gerrit.canonicalWebUrl "${CANONICAL_WEB_URL:-http://$HOSTNAME}"
+
+if [ "$1" != "init" ]
+then
+ echo "Running Gerrit ..."
+ exec /var/gerrit/bin/gerrit.sh run
+fi