VSTS Hosted Build上的WebPack

Sam*_*Sam 5 build webpack azure-devops

我们在VSTS上使用托管构建代理来构建和发布我们的ASP.NET核心代码到Azure App服务.

我的问题是:我们可以运行WebPack来处理VSTS上这个托管构建的前端任务吗?还是我们必须在将代码检入我们的存储库之前手动完成它?

更新:我正在使用VSTS上提供的新的ASP.NET核心构建(预览)模板 - 见下文:

在此输入图像描述

以下是步骤 - 开箱即用:

在此输入图像描述

Thi*_*and 0

Webpack 绝对不是 VS2015 和 VSTS 的一等公民。在我的案例中,简化 CI/CD 的 webpack 一直是一个真正令人头痛的问题,尤其是仓促引入 webpack 来解决大型整体 SPA(ASP.NET 4.6、Kendo、15,000 个文件、2000 个文件夹)的可怕性能问题。简而言之,在尝试了多种方案以确保新重建的捆绑包最终会出现在 IIS 和 Azure webapp 中之后,我进行了 2 遍构建。VSTS 任务的顺序如下:npm install global、npm install local、npm webpack install local、npm webpack install global、build pass 1、webpack、build pass 2 等...这适用于托管代理和私有代理,提供您为 webpack 提供了正确的路径,因为 webpack 安装在主机和私有中的不同位置(没有找到选择 webpack 安装位置以保持一致性的方法)。在开始构建之前我把所有东西都烧焦了。还需要在 VS2015 解决方案中执行以下操作:(1)卸载“ built ”文件夹,以及(2)在项目文件中添加内容 Include="Built\StarStar" 。“ built ”文件夹包含捆绑包,并且应该显示为灰色,否则会出现更多糟糕的意外和不稳定的情况......

VSTS BUILD 中的 Build-Pass #2 任务允许收集 Build-Pass #1 生成的新捆绑包,并将它们自动包含在要发布的包中。

如果没有第二次构建过程,收集捆绑包并将它们合并到 zip 包中将是一场噩梦,尤其是当您有 15,000 个文件需要解压缩然后重新压缩时(每个文件需要 300 毫秒!!)。没有找到我可以在 VSTS 中轻松使用的文件合并功能。

我正在倾听有人为 webpack 提出更高效的 CI/CD 方案。与此同时,我的 2 遍构建解决方法工作完美,但确实很慢。

我预计 ASP.NET core、Angular 2 和 webpack 的进步将能够优雅地解决这个问题。