Tag: 连续集成

摩卡单位testing返回0作为未捕获的exception退出代码

我有我的当前应用程序的testing套件。 有时我会引入一个错误,并导致一个未被捕获的exception被抛出。 手动运行unit testing时,可以看到错误。 但是,当我将它与我们的CI系统集成时,该过程仍然返回0,就好像一切正​​常。 由于这个正面的退出码,我们无法检测到错误。 我究竟做错了什么?

由Teamcity运行的Grunt不能正确输出到日志

我有一个teamcity构build运行grunt作为命令行任务。 当我执行grunt default的输出(在TeamCity日志中)不包含从grunt相关的错误输出。 但是,它会返回适当的非零退出代码,导致teamcity生成失败。 虽然我没有得到咕噜的错误日志。 此页面: https : //www.npmjs.org/package/grunt-teamcity描述了我面临的问题的以下解决方法: windows上的Teamcity在退出grunt节点进程之前不刷新stdoutstream。 在nodejs和grunt中都有一些解决这个问题的方法,但是并没有解决。 如果您在Teamcity构build日志中看到缺less输出,请尝试使用TC命令行运行器将输出redirect到文件来运行grunt任务,例如: grunt.tmp&type grunt.tmp&del grunt.tmp看来,通过redirect到一个文件的输出是同步的,而与pipe道(或TC插件执行方法)输出是asynchronous的,而不是捕获在节点进程退出之前。 所以它基本上build议你像这样运行grunt: grunt default –no-color > grunt.tmp & type grunt.tmp & del grunt.tmp 。 然而,这种方法的问题是始终返回0(零)作为退出代码,这意味着我的TeamCity构build不正常失败。 我想这可以解决一些有创意的批处理脚本,但我不知道如何处理这个。

Nodejs CI依赖性错误

我正在为NodeJS应用程序设置持续集成/连续部署,并在npm install / dependencypipe理中遇到一些问题。 在本地运行testing通过确定。 在TravisCI或CodeShip上运行CI(testing)通过OK。 但是,当我从Travis或CodeShip下载软件包,并尝试运行npm脚本(例如npm install或npm start)时,出现依赖性错误。 如果我完全删除node_modules文件夹并再次运行npm安装,一切正常。 NPM INSTALL gulp minify-sdk && gulp setup-auto module.js:339 throw err; ^ Error: Cannot find module 'gulp-util' at Function.Module._resolveFilename (module.js:337:15) at Function.Module._load (module.js:287:25) at Module.require (module.js:366:17) at require (module.js:385:17) at Object.<anonymous> (/Users/simon/latest/node_modules/.bin/gulp:4:13) at Module._compile (module.js:435:26) at Object.Module._extensions..js (module.js:442:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:311:12) at Function.Module.runMain […]

如何以非交互方式login纱线?

当使用npm ,我可以非交互方式login: $ printf "jesstelford\n<password>\nexample@email.com\n" | npm login 但是,与yarn类似的命令挂起: $ printf "jesstelford\nexample@email.com\n" | yarn login yarn login v0.21.3 question npm username: jesstelford question npm email: 在交互模式下,我可以成功运行: $ yarn login yarn login v0.21.3 question npm username: jesstelford question npm email: example@email.com ✨ Done in 22.53s. 我怎样才能非交互式地运行yarn login ?

如何移动npm node_modules文件夹跨平台?

我的客户有一个非常特殊的要求。 我们一直在使用npm来安装karma和phantomjs。 一切工作正常,直到我们必须将所有的东西从云端迁移到内部基础设施。 现在事情变得复杂了。 内部基础设施没有互联网访问,所以我们不能使用npm来解决依赖关系了。 我们尝试将node_modules文件夹开发机器移动到内部基础架构机器上。 它没有工作,因为开发机器是OSX和Windows,服务器是Centos和phantomjs是OS特定的,但npm是能够锻炼的版本。 我们有什么select来解决依赖关系? 我只知道node_modules的名字是不能改变的。 我正在考虑检查特定于操作系统的node_modules,但这是行不通的,因为npm只查找node_modules文件夹。 我得到了同样的错误,因为这个线程PhantomJS崩溃 – 退出代码126当我试图从CentOS中使用OSX的node_modules。