无法在运行OpenShift(OKD)的SonarQube中设置代理

时间:2018-09-18 21:46:10

标签: sonarqube openshift okd

我正在运行sonarqube-openshift-docker构建的声纳法。我需要设置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文件中的某个位置,但是我不知道该在哪里。

2 个答案:

答案 0 :(得分:0)

AFAIK,您必须在单独的属性中提供主机端口

http.proxyHost=
http.proxyPort=

看看sonar.properties文件here

答案 1 :(得分:0)

在OpenShift上运行SonarQube时,我使用的模板支持ConfigMap设置HTTP代理配置。

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"