詹金斯(Jenkins)始终认为使用批处理/ bat的构建是成功的
我刚加入一家使用批处理文件构建C
++项目的公司。该批处理可以完成所有事情(更新svn,现在由jenkins完成),创建构建文件夹,在构建后删除不必要的文件,将库文件复制到构建文件夹等。
我的问题是,詹金斯(Jenkins)始终认为构建成功,即使失败了。发生问题时,.bat文件将创建一个名为errormake.txt的文件。我如何让詹金斯阅读该文章并将其标记为失败?
另外,有什么方法可以找出从.bat文件内部创建的构建文件夹Jenkins(也许在我调用批处理文件时发送变量)?
这是我当前用来调用.bat文件的单行:
call "C:\Source\BuildVersion\AppName\build_version.bat"
编辑:此外,此项目分为几个SVN存储库。%SVN_REVISION%
是空白的。如何%SVN_REVISION%
从第一个存储库(主要存储库)中获取正确的信息?
回答:
要回答您的每个问题-
- :
詹金斯根据 在每个“ 执行Windows批处理命令 ”块中运行的 最后一个命令 的返回码来设置作业的状态。 如果您的最后一条命令是,
Jenkins认为一切正常 (如果’ ‘命令运行正常…)
__
copy some.log D:
copy
根据您的操作系统,使用EXIT xx
或EXIT /B xx
,
其中“ xx”是一个大于零的整数。
- :
使用 提到的
。
- :
对于在Jenkins下运行的每个脚本,有一些参数可用作环境变量-请参阅此处以获取这些参数的列表:
。
对你的问题:
* `%WORKSPACE%` -工作区的绝对路径* `%BUILD_NUMBER%` -当前的内部版本号,例如“ 153”
* `%BUILD_ID%`-当前的版本ID,例如“ 2005-08-22_23-59-59”
(YYYY-MM-DD_hh-mm-ss)
- :
这个答案来自相同的链接:
* `%SVN_REVISION%`-对于基于Subversion的项目,
此变量包含模块的修订号。
。
希望能有所帮助
以上是 詹金斯(Jenkins)始终认为使用批处理/ bat的构建是成功的 的全部内容, 来源链接: utcz.com/qa/416911.html