【问题标题】:How to hide script name using returnStdout in Jenkins?如何在 Jenkins 中使用 returnStdout 隐藏脚本名称?
【发布时间】:2019-11-29 16:05:55
【问题描述】:

在我的 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 !

我不知道该怎么做,我会很感激一些帮助!

【问题讨论】:

    标签: python jenkins groovy jenkins-pipeline


    【解决方案1】:

    在脚本开头添加@echo off

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

    【讨论】:

    • 或者只是在命令前加上@,例如。 G。 '''@%PYTHON% ...'''。作为侧节点,%PYTHON% 应该用双引号括起来,以防它安装在包含空格的路径中,例如。 G。 C:\Program Files.
    • 完成这些更改后,我还有一个小问题:显示变量时出现回车。所以我写了def TEST = bat (...).trim(),一切都按我的意愿工作!再次感谢
    猜你喜欢
    • 1970-01-01
    • 2015-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多