【问题标题】:Will TypeScript errors break the CI build?TypeScript 错误会破坏 CI 构建吗?
【发布时间】:2016-01-02 20:16:49
【问题描述】:

我有一个场景,我们的 Visual Studio Online Git 托管解决方案成功完成了持续集成 (CI) 构建,但在本地存在构建错误。

然而,这些 VS.NET 解决方案本地的构建错误与 TypeScript 构建错误是隔离的。我的理解是 TypeScript 构建错误肯定会导致本地构建失败,但不会阻止 CI 构建服务器成功完成。这是因为tsc.exe TypeScript 编译器将简单地将.ts 文件转换为构建服务器上的.js 文件,但此时任何相关的错误都不会被阻塞。该解决方案只关心输出 .js 文件,因此它们在编译后存在并且满足构建服务器。

不过,我对此不是 100% 确定的,希望澄清这是否正确,或者是否有其他原因允许本地 TypeScript 错误影响构建服务器的结果?

【问题讨论】:

  • 以前(成功)构建的构建工件是否仍然存在于构建服务器上?即使当前构建失败,因为先前构建的输出 .js 文件在那里,但构建的其余部分可能会成功。如果是这样,您会看到由于预期的代码生成没有发生而导致运行代码的问题。
  • 即使他们做了一个 .js 文件也没有构建服务器编译检查,因为它只是一种脚本语言。除非它完全丢失,否则即使 .js 不好,它仍然可以工作。这也是应用程序端口的全新构建,因此在引入 .ts 问题之前不会有任何成功的构建。这意味着 .js 文件已创建。不过你是对的,运行代码肯定会有问题。

标签: git typescript azure-devops


【解决方案1】:

但不会阻止 CI 构建服务器成功完成

这很可能会导致构建失败除非有人明确地忽略从构建过程返回的错误代码(这是一个非常糟糕的开始) .

【讨论】:

  • 这令人费解。深入了解 .sln 构建成功的日志,从我所看到的情况来看,它是一种普通的 VSO 构建设置。我看不到我的本地错误如何不会破坏构建服务器。问题 - 这些 TypeScript 错误是相当新的,只有在我将 TS 工具升级到 1.6 后我才相信。这个 TS 以前工作过,并且突然导致构建错误(我即将发布另一个我无法理解的问题)。无论如何,我想知道构建服务器是否有旧版本的 tsc.exe 编译器,它不会阻止这些错误?
  • I wonder if the build server has an older version of the tsc.exe compiler that would allow these errors not to be blocking 确实
  • 问题是 (2) 与我所知道的相比:1.不是旧版本中的违规行为。 2.VS2015 中,Errors 窗口中有一个选项显示Build + Intellisense,默认情况下该选项处于打开状态。我注意到的错误是 Intellisense 错误。如果我切换到Build Only,构建时错误在本地是非阻塞的。
猜你喜欢
  • 1970-01-01
  • 2016-08-11
  • 1970-01-01
  • 1970-01-01
  • 2022-01-06
  • 2012-09-15
  • 1970-01-01
  • 1970-01-01
  • 2021-07-11
相关资源
最近更新 更多