VSTS Hosted Build上的WebPack

时间:2016-11-04 23:20:06

标签: build webpack azure-devops

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

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

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

enter image description here

以下是开箱即用的步骤:

enter image description here

2 个答案:

答案 0 :(得分:2)

对于VSTS,我们正在进行扩展,目前处于测试阶段,您可以要求分享。

检查the VSTS marketplace。 检查this github repo

答案 1 :(得分:0)

Webpack绝对不是VS2015和VSTS的一等公民。在我的情况下,简化Webpack for CI / CD一直是一个令人头痛的问题,特别是当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)卸载" 内置"文件夹,以及(2)在项目文件中添加内容包含="内置\ StarStar" 。 " 内置"文件夹包含捆绑包,应该显示为灰色,否则更糟糕的惊喜和不稳定性来处理...

VSTS BUILD中的

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

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

我听到有人在为webpack提供更有效的CI / CD方案。与此同时,我的2-pass-build解决方案运行完美,但确实很慢。

我预计ASP.NET核心,Angular 2和webpack的进步将会优雅地解决这个问题。