我正在运行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文件中的某个位置,但是我不知道该在哪里。
答案 0 :(得分:0)
答案 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"