Невозможно установить прокси в SonarQube, работающем в OpenShift (OKD)

Я использую sonarqube-openshift-docker сборку sonarqube. Мне нужно установить прокси-сервер, который использует Sonar, чтобы он мог получить доступ к Marketplace и получить профиль Java.

Я попытался установить для развертывания пару имя/значение среды конфигурации: JAVA_TOOLS_OPTIONS = "-Dhttp.proxyHost= -Dhttp.proxyPort= -Dhttps.proxyHost= -Dhttps.proxyPort="

Я также пытался установить пары имя/значение HTTP_PROXY_HOST, HTTP_PROXY_PORT, HTTPS_PROXY_HOST, HTTPS_PROXY_PORT.

Все они проникают в окружающую среду на стороне контейнера, но Sonar их не использует.

Изменение файла sonar.properties в контейнере не работает, так как он не является постоянным и прерывается при перезапуске.

Я также пытался добавить его сюда, но это не сработало.

template:
metadata:
  annotations:
    openshift.io/container.sonarqube.image.entrypoint: '["./bin/run.sh -Dhttp.proxyHost=<myProxy:port>"]'

Я предполагаю, что мне нужно передать его где-то в файле YAML, но я не могу понять, где.


person cbeaudin    schedule 18.09.2018    source источник


Ответы (2)


Насколько я знаю, вы должны указать host и port в отдельных свойствах:

http.proxyHost=
http.proxyPort=

Взгляните на файл sonar.properties здесь.

person Yevgeniy    schedule 21.09.2018
comment
Установка его в этом файле свойств не сохраняется при перезапуске контейнера. Поэтому мне нужно выяснить, как передать его при запуске контейнера. - person cbeaudin; 22.09.2018
comment
вы правы, но вы можете передать каждое свойство из файла конфигурации как системное свойство, как вы пытались с proxyHost. Предоставление порта и хоста, например -Dhttp.proxyHost=xxx -Dhttp.proxyPort=xxx, должно работать. Ты пробовал? - person Yevgeniy; 22.09.2018

Запустив SonarQube в OpenShift, я использую шаблон, который отменяет настройку HTTP-прокси ConfigMap.

apiVersion: v1
kind: Template
metadata:
  name: sonarqube-template
objects:
[...]
- apiVersion: v1
  kind: ConfigMap
  metadata:
    name: ${APPLICATION_NAME}-conf
  data:
    sonar.properties: |-
      http.nonProxyHosts=${PROXY_EXCLUDE}
      http.proxyHost=${PROXY_HOST}
      http.proxyPort=${PROXY_PORT}
      https.proxyHost=${PROXY_HOST}
      https.proxyPort=${PROXY_PORT}
    wrapper.conf: |-
      wrapper.java.command=java
      wrapper.java.additional.1=-Dsonar.wrapped=true
      wrapper.java.additional.2=-Djava.awt.headless=true
[...]
- apiVersion: v1
  kind: DeploymentConfig
[...]
         volumeMounts:
          - mountPath: /opt/sonarqube/conf
            name: ${APPLICATION_NAME}-conf
[....]
    volumes:
    - configMap:
        defaultMode: 420
        name: ${APPLICATION_NAME}-conf
[...]
parameters:
- name: APPLICATION_NAME
  value: sonarqube
- name: PROXY_HOST
  value: proxy.example.com
- name: PROXY_PORT
  value: "3128"
- name: PROXY_EXCLUDE
  value: "*.internal.domain.example.com"
person SYN    schedule 23.10.2018