【发布时间】:2018-08-17 16:26:00
【问题描述】:
我正在尝试通过 Jenkins 使用批处理来确定特定位置是否存在 git 分支。据我了解,Jenkins 运行的命令类似于批处理 shell 脚本的运行方式。在已经在 Stack Overflow 上研究了这个问题(并找到了几页关于这个类似问题的页面)之后,我现在有代码来检查是否存在 git 分支。代码如下:
@echo off
cd D:\git\ceos
git rev-parse --verify temp
if %ERRORLEVEL% == 0 (
echo Branch Exists
) else (
echo Branch Does Not Exist
)
这是我的问题:如果分支“temp”确实存在,则此代码完美运行并返回“分支存在”。但是,如果“temp”不存在,Jenkins 作业会失败说
fatal: Needed a single revision
Branch Does Not Exist
很明显,它仍然进入 if 语句的正确分支,因为它返回“分支不存在”,但由于某种原因仍然失败。
我的问题是:即使我的代码逻辑有效(感谢其他 Stack Overflow 问题),当没有分支 temp 时,我如何防止这项工作失败?
更新: 事实证明,作业失败的原因是 %ERRORLEVEL% 被设置为 0 以外的值,并且在到达脚本末尾时,如果没有正确的退出代码,Jenkins 作业就无法通过。因此,在“else”分支中,我只是将errorlevel设置回0,它就通过了。
【问题讨论】:
标签: git batch-file jenkins git-branch