Jenkins Pipeline Groovy调用Xvfb指定DISPLAY端口不生效如何配置?
Jenkins Pipeline Xvfb插件指定固定DISPLAY端口配置方案
你之前的配置无效是因为Xvfb插件默认开启自动分配DISPLAY端口逻辑,且端口号需要通过专用参数指定,而非放在additionalOptions中。无需修改全局配置,直接使用如下脚本配置即可:
wrap([$class: 'Xvfb', // 关闭自动分配DISPLAY逻辑 autoDisplayName: false, // 指定DISPLAY端口为99 displayName: '99', // 额外启动参数,指定屏幕参数 additionalOptions: '-screen 0 1024x768x24']) { // 此处填写你原本要执行的任务步骤 // 可添加下方命令验证DISPLAY变量是否生效 // sh 'echo $DISPLAY' }
配置说明
- 关闭
autoDisplayName后插件才会读取你手动指定的displayName参数,否则会自动生成随机端口,忽略手动配置 - 上述配置最终生成的Xvfb启动命令为
Xvfb :99 -screen 0 1024x768x24,和你手动执行的有效命令完全一致 - wrap块会自动将块内所有步骤的DISPLAY环境变量设置为
:99,无需提前在机器上配置全局DISPLAY变量
内容的提问来源于stack exchange,提问作者Witcher18
相关产品推荐
相关产品推荐

