【发布时间】:2018-09-15 04:38:49
【问题描述】:
我有一个小型 NodeJs 应用程序,它执行一些操作,最后,它将结果附加到一个文本文件中。该脚本在本地工作,但是当我在 Jenkins 上运行它时,该文件被覆盖而不是附加。关于出了什么问题的任何想法?
fs.appendFile('timing.txt', new Date().toISOString() + ' ' + timing + '\n',
function(err) {
if(err) {
console.log('Something went wrong when writing to the file');
}
});
【问题讨论】:
-
appendFile在 Jenkins 作业中执行时不太可能被破坏。该文件更有可能在 Jenkins 环境中不存在,在这种情况下,appendFile将创建一个新文件。您的 Jenkins 工作是否会在运行前破坏工作空间?如果没有明显的原因导致文件不存在,那么您可以在尝试appendFile之前检测您的 Node 脚本以报告该文件是否存在。此外,如果你真的很不走运,Date()可能会在作业运行时发生变化。 -
我确信工作空间没有被清除,因为我修改了代码以向文件名添加时间戳。经过几次构建后,出现了多个具有不同时间图的文件。