Npm 团队城市中的并行构建步骤

Npm 团队城市中的并行构建步骤,npm,teamcity,angular,Npm,Teamcity,Angular,我对TeamCity还很陌生,我的任务是创建CI构建 我试图构建一个带有量角器e2e测试的angular2应用程序 TeamCity中的所有其他构建步骤都运行正常,但我在尝试运行执行e2e测试的步骤时遇到了问题 如果我在本地执行此操作,我会打开一个cmd窗口并键入 npm run start npm run e2e 然后我会打开另一个命令窗口并键入 npm run start npm run e2e 如何在TeamCity中运行并行步骤?构建步骤不能在TeamCity中并行运行。您需

我对TeamCity还很陌生,我的任务是创建CI构建

我试图构建一个带有量角器e2e测试的angular2应用程序

TeamCity中的所有其他构建步骤都运行正常,但我在尝试运行执行e2e测试的步骤时遇到了问题

如果我在本地执行此操作,我会打开一个cmd窗口并键入

npm run start
npm run e2e 
然后我会打开另一个命令窗口并键入

npm run start
npm run e2e 

如何在TeamCity中运行并行步骤?

构建步骤不能在TeamCity中并行运行。您需要做的是创建一个在后台运行“npm run start”的脚本,然后运行“npm run e2e”。您可以使用命令行运行程序来运行脚本

我仍然无法让forever这个东西为我正常工作,所以我创建了自己的节点脚本,启动live server,然后执行npm run e2e,这似乎已经完成了这项任务,感谢您对Oleg的帮助

最后我就是这样做的

const exec = require('child_process').exec;
var psTree = require('ps-tree');

const server = exec('live-server ./dist --port=3000 --no-browser');
const tests = exec('npm run e2e');

tests.stdout.on('data', function(data) {
  console.log(data);
});
tests.stderr.on('data', function(data) {
  console.log(data);
});
tests.on('close', function(code) {
  console.log('closing code: ' + code);
  exec('taskkill /PID ' + server.pid + ' /T /F');
});

是的,我试着创建一个npm脚本来完成它,但它只是在运行服务器后挂起。。“serve-e2e”:“npm run server:dev&npm run e2e”,命令“npm run server:dev”不在后台运行服务器。它启动服务器并等待命令返回,但这永远不会发生。你需要使用像在后台运行服务器这样的工具。你知道如何/如果可以直接使用它来启动npm命令吗?npm run server:dev,因为它看起来像是在启动js脚本
forever start app.js
,很抱歉在这里看起来很笨。我不知道确切的解决方案,但这个问题的答案和github的讨论可能会有一些想法