变量未在jenkins批处理命令中设置

时间:2017-02-15 08:36:32

标签: batch-file jenkins

我的jenkins工作中有一个批处理脚本。除此之外,它还将命令的输出存储到变量中。一开始它工作,但在我的批处理文件增长后,它停止工作 - 但我没有更改我设置变量的行,所以我不知道它为什么现在失败。

DEL /S /F /Q node_modules > NUL
DEL /S /F /Q dist > NUL

for /f "tokens=1,*" %%a in ('git log --oneline -1') do set LAST_COMMIT_MESSAGE=%%b

set EXECUTE_BUILD=false
if "%IGNORE_LAST_COMMIT_MESSAGE%" == "true" (
    set EXECUTE_BUILD=true
)
if not "%NIGHTLY_BUILD_COMMIT_MESSAGE%" == "%LAST_COMMIT_MESSAGE%" (
    set EXECUTE_BUILD=true
)
if "%EXECUTE_BUILD%" == "true" (
    if "%VERSION_ENV%" == "prerelease" (
        for /f %%i in ('call npm --no-git-tag-version version %VERSION_ENV%') do set MODULE_VERSION=%%i
    ) else (
        for /F %%i in ('call git tag -l') do git tag -d %%i
        call git fetch -t
        for /f %%i in ('call npm version %VERSION_ENV%') do set MODULE_VERSION=%%i
    )
    set MODULE_VERSION=%MODULE_VERSION:~1%
    echo modver: "%MODULE_VERSION%"
    echo|set /p="%MODULE_VERSION%" > C:/path/to/a/file
    call npm install grunt
    call npm install -g grunt-cli
    call npm install
    call grunt build
    cd dist
    call npm publish
    cd ..
    call git commit -am "%NIGHTLY_BUILD_COMMIT_MESSAGE%"
)

echo modver: "%MODULE_VERSION%"打印我的modver: ""(我的文件为空)。但是几天前,当我的剧本中没有所有这些if条件时,它就起作用了。

0 个答案:

没有答案