詹金斯(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 xxEXIT /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

回到顶部