我最近一直在考虑安装团队城市或Jenkins作为CI解决方案。我非常清楚它可以带给我的团队c ++项目的优势与每晚构建测试是否有任何检查到git已经打破了项目或依赖项目。也作为构建和发布软件的一种方式。
但是我知道人们在JavaScript项目中使用它。这些不能这样构建,只能在运行时进行测试。那么在包含后端和Web前端代码的JavaScript项目中使用CI解决方案的真正优势是什么。
感谢您的任何建议。
答案 0 :(得分:0)
虽然构建和测试阶段通常被视为2个完全不同的CI步骤,但它们基本上只是验证(确定,它们之间具有依赖关系),这必须通过CI迭代才能通过成功的。
当谈到破损时,人们通常会提到构建失败,但从根本上说,缺少工件之间的可用性预期没有区别,因为它无法构建和成功构建工件但DOA /无法从测试前景中使用 - 没有一个可以发货,他们同样阻止大型团队的开发/测试活动等。
因此,如果没有为您的特定上下文构建任何内容,只需跳过该步骤(或者如果CI系统不支持缺少构建步骤,则使其始终成为BUILD SUCCESS旁路)。
您仍然可以在开发过程中获得使用CI方法/验证的所有优势。
答案 1 :(得分:0)
CI的目的是尽早发现问题,而不是等待在运行时找到问题。 JavaScript不应该免于此过程,特别是如果你有很多。从长远来看,运行静态分析,例如jslint/jshint和单元测试可以并且将为您节省很多麻烦。我的团队专门使用Jasmine作为我们的测试框架,我们有一套明确定义的JSLint规则。如果任何测试失败或任何规则被破坏,则无法签入代码。此外,我们需要对所有代码(包括JS)进行代码审查。我相信这是我们CI过程中最有价值的一步。