1- FROM stakater/java-centos:7-1.8
2-
3- ENV SONAR_VERSION=7.1 \
4- SONARQUBE_HOME=/opt/app/sonarqube \
5- # Database configuration
6- # Defaults to using H2
7- SONARQUBE_JDBC_USERNAME=sonar \
8- SONARQUBE_JDBC_PASSWORD=sonar \
9- SONARQUBE_JDBC_URL= \
10- CONF_MOUNT_PATH="/opt/app/tmp/conf/sonar.properties"
11-
12- # Comma separated list of Plugin URLS to install
13- ARG PLUGIN_URLS="https://github.com/vaulttec/sonar-auth-oidc/releases/download/v1.0.4/sonar-auth-oidc-plugin-1.0.4.jar"
14-
15- # Change to user root to install jdk, cant install it with any other user
16- USER root
17- RUN yum install -y unzip && \
18- yum clean all
19-
20- RUN set -x \
21- # pub 2048R/D26468DE 2015-05-25
22- # Key fingerprint = F118 2E81 C792 9289 21DB CAB4 CFCA 4A29 D264 68DE
23- # uid sonarsource_deployer (Sonarsource Deployer) <infra@sonarsource.com>
24- # sub 2048R/06855C1D 2015-05-25
25- && (gpg --keyserver ha.pool.sks-keyservers.net --recv-keys F1182E81C792928921DBCAB4CFCA4A29D26468DE \
26- || gpg --keyserver ipv4.pool.sks-keyservers.net --recv-keys F1182E81C792928921DBCAB4CFCA4A29D26468DE) \
27- && curl -o sonarqube.zip -fSL https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-$SONAR_VERSION.zip \
28- && curl -o sonarqube.zip.asc -fSL https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-$SONAR_VERSION.zip.asc \
29- && gpg --batch --verify sonarqube.zip.asc sonarqube.zip \
30- && unzip sonarqube.zip \
31- && mv sonarqube-$SONAR_VERSION sonarqube \
32- && rm sonarqube.zip* \
33- && rm -rf $SONARQUBE_HOME/bin/*
34-
35- # Download plugins from list
36- RUN mkdir -p ${HOME}/downloads/plugins \
37- && cd ${HOME}/downloads/plugins \
38- && IFS=, read -ra pluginUrlList <<< "$PLUGIN_URLS" \
39- && for plugin_url in "${pluginUrlList[@]}" ; \
40- do \
41- wget "${plugin_url}" ; \
42- done
43-
44- # Add Plugins as jar files
45- ADD plugins/* ${HOME}/downloads/plugins/
46-
47- RUN chown -R 10001 $SONARQUBE_HOME \
48- && chown -R 10001 ${HOME}/downloads/
49-
50- # Again using non-root user i.e. stakater as set in base image
51- USER 10001
52-
53- # Http port
54- EXPOSE 9000
55-
56- WORKDIR $SONARQUBE_HOME
57- COPY run.sh $SONARQUBE_HOME/bin/
58- ENTRYPOINT ["./bin/run.sh" ]
1+ FROM docker.io/sonarqube:7.9.1-community
2+
3+ USER root
4+ ARG sonar_plugins="pmd ldap"
5+ ADD sonar.properties /opt/sonarqube/conf/sonar.properties
6+ ADD run.sh /opt/sonarqube/bin/run.sh
7+ CMD /opt/sonarqube/bin/run.sh
8+ RUN cp -a /opt/sonarqube/data /opt/sonarqube/data-init && \
9+ cp -a /opt/sonarqube/extensions /opt/sonarqube/extensions-init && \
10+ chown root:root /opt/sonarqube && chmod -R gu+rwX /opt/sonarqube
11+ ADD plugins.sh /opt/sonarqube/bin/plugins.sh
12+ ADD https://github.com/rht-labs/sonar-auth-openshift/releases/latest/download/sonar-auth-openshift-plugin.jar /opt/sonarqube/extensions-init/plugins/
13+ ADD https://github.com/dmeiners88/sonarqube-prometheus-exporter/releases/download/v1.0.0-SNAPSHOT-2018-07-04/sonar-prometheus-exporter-1.0.0-SNAPSHOT.jar /opt/sonarqube/extensions-init/plugins/
14+ RUN /opt/sonarqube/bin/plugins.sh $sonar_plugins
15+ RUN chown root:root /opt/sonarqube -R; \
16+ chmod 6775 /opt/sonarqube -R
17+ USER 1001
0 commit comments