【发布时间】:2020-05-16 06:32:09
【问题描述】:
我正在尝试将现有的 Jenkins 作业移植到 Jenkinsfile。在大多数情况下,这很好用,但我一直无法弄清楚如何使用 Xvnc 插件。在旧的 Jenkins 作业中,插件配置为
这是设置 DISPLAY 环境变量以便 Chrome 可以运行所必需的。我在 Jenkins 构建输出中看到的错误是
[32m27 07 2018 09:21:30.798:INFO [karma]: [39mKarma v2.0.3 server started at http://0.0.0.0:9876/
[32m27 07 2018 09:21:30.800:INFO [launcher]: [39mLaunching browser Chrome with unlimited concurrency
[32m27 07 2018 09:21:30.819:INFO [launcher]: [39mStarting browser Chrome
[31m27 07 2018 09:21:31.277:ERROR [launcher]: [39mCannot start Chrome
我的(截断的)Jenkinsfile 看起来像这样
pipeline {
agent {
label 'java8&&chrome'
}
stages {
stage ("Build") {
tools {
jdk 'jdk 1.8'
}
steps {
step ([$class: 'Xvnc', useXauthority: 'true'])
//wrap ([$class: 'Xvnc', useXauthority: 'true'])
//xvnc { useXauthority(true) }
sh './gradlew clean build -PsnapshotDeps'
}
}
}
}
我怀疑我需要以某种方式将 gradle 步骤与 Xvnc 包装器一起包含在内,但没有一个尝试过的选项比我在这里尝试的选项更成功。
【问题讨论】:
-
@mszalbach 感谢您确认换行语法。当我更仔细地研究了错误消息时(
no known implementation of class jenkins.tasks.SimpleBuildWrapper is named Xvnc),我发现 Xvnc 插件的版本可能已经过时了。我查了一下,似乎确实需要升级。 -
@mszalbach 根据要求,我可以确认我的安装有 1.17 的 Xvnc 插件。我看到管道支持直到 1.22 才添加到这个插件中,正如你所说的 1.24 是最新的。我已请求我的管理员升级此功能,一旦有机会重新测试,我会通知您。
标签: jenkins jenkins-plugins jenkins-pipeline