【发布时间】:2019-03-14 13:24:41
【问题描述】:
我正在尝试在我的 Jenkins 管道中导出我的 Kubernetes 容器上的一个端口。
我在网上查了一下,就是不知道如何让它工作。
我需要将端口 4444 导出到 selenium-hub 容器。
def label = "selenium-hub-${UUID.randomUUID().toString()}"
podTemplate(label: label, yaml: """
apiVersion: v1
kind: Pod
spec:
containers:
- name: selenium-hub
image: selenium/hub:3.4.0
- name: selenium-chrome
image: selenium/node-chrome:3.4.0
env:
- name: HUB_PORT_4444_TCP_ADDR
value: localhost
- name: HUB_PORT_4444_TCP_PORT
value: 4444
- name: DISPLAY
value: :99.0
- name: SE_OPTS
value: -port 5556
- name: selenium-firefox
image: selenium/node-firefox:3.4.0
env:
- name: HUB_PORT_4444_TCP_ADDR
value: localhost
- name: HUB_PORT_4444_TCP_PORT
value: 4444
- name: DISPLAY
value: :98.0
- name: SE_OPTS
value: -port 5557
我目前从集线器获取 ip,并将其传递给我的测试以通过网格运行
node(label) {
containerLog('selenium-hub')
sh('hostname -i')
POD_IP = sh(script: "hostname -i", returnStdout: true).toString().replaceAll('\\n', '');
node() {
sh("POD_IP='${POD_IP}' UI_URL=https://EEEEEE.net/ SERVICE_URL=https://WWWWWW.net/ ./node_modules/webdriverio/bin/wdio ./tests/UI/helpers/configs/wdio.GRID.conf.js --nolazy")
}
我似乎在测试运行时无法访问网格,所以我认为这是由于端口 4444 没有被暴露,但我不知道如何在 Kubernetes 中做到这一点。
我在网上尝试了一些示例,但似乎没有更接近。
【问题讨论】:
标签: selenium jenkins kubernetes jenkins-pipeline jenkins-plugins