首页 > 解决方案 > 如何在 Jenkins 中使用 returnStdout 隐藏脚本名称?

问题描述

在我的 JenkinsFile 中,我执行如下 python 脚本:

def TEST = bat (script: '''
                %PYTHON% .\\setVersion.py --path=%WORK_DIR% --version=%RELEASE_NAME% --major=%SRC_VERSION%
                ''', returnStdout: true)
echo "The script displays : ${TEST} and it is wonderful !"

这很好用,只是我的 ${TEST} 变量包含脚本名称:

The script displays : 
w:\root\build>C:\Tools\Python\2.7\python.exe .\setVersion.py --path=w:/root/build --version=guava --major=1.3 
The version will be : guava-1.3.7272
 and it is wonderful !

我希望它显示如下内容:

The script displays : The version will be : guava-1.3.7272 and it is wonderful !

我不知道该怎么做,我将不胜感激!

标签: pythonjenkinsgroovyjenkins-pipeline

解决方案


@echo off在脚本开头添加

def TEST = bat (script: '''@echo off
                %PYTHON% .\\setVersion.py --path=%WORK_DIR% --version=%RELEASE_NAME% --major=%SRC_VERSION%
                ''', returnStdout: true)
...

推荐阅读