VSTS持续集成-ASP.NET核心和Angular 4项目
我有ASP.NET核心web应用程序(VS2017),我开发了Angular 4前端项目(VS代码),它应该是核心web应用程序的一部分。我需要为整个事情建立CI。所以,当这些项目中的任何一个发生变化时,它首先构建Angular 4,获取工件并将其放入ASP.NET核心项目中,然后构建它并将其发布到Azure 现在,我有我的Angular 4项目在一个单独的回购协议中。因此,理想情况下,我可以在该repo上设置CI,并使其将其工件发布到Azure存储(例如)。然后,我想为ASP.NET Core repo设置另一个CI来触发构建,第一步是“获取这些Angular 4工件并将它们放在这里”。大概是这样的:VSTS持续集成-ASP.NET核心和Angular 4项目,angular,asp.net-core,azure-pipelines,Angular,Asp.net Core,Azure Pipelines,我有ASP.NET核心web应用程序(VS2017),我开发了Angular 4前端项目(VS代码),它应该是核心web应用程序的一部分。我需要为整个事情建立CI。所以,当这些项目中的任何一个发生变化时,它首先构建Angular 4,获取工件并将其放入ASP.NET核心项目中,然后构建它并将其发布到Azure 现在,我有我的Angular 4项目在一个单独的回购协议中。因此,理想情况下,我可以在该repo上设置CI,并使其将其工件发布到Azure存储(例如)。然后,我想为ASP.NET Core
- 抓取NG4构建并将其复制到ASPNETCore文件夹结构中(如wwwroot)
- 建立核心回购协议
所以问题是-我如何使用VST做到这一点?好的,正如我说的,我有两个项目-ASP.NET Core MVC项目(Core-p)和Angular 4项目(NG-p)。它们位于VST中单独的回购协议中。目标是将整个项目的构建和发布自动化到Azure应用程序服务 以下是我是如何做到这一点的: 第一。NG-P 构建任务:
NPM命令设置为安装,将参数设置为@angular/cli@latest-g
ngbuild--aot--output path dist--base href work
。注意--输出路径dist:项目输出将被放入“dist”文件夹(我想这是Angular CLI的默认值,但我只是想确定一下)。此外,我在这里使用了--base href-work选项,因此我的angular 4应用程序将作为[mydomain.com]/work-in-Core-P项目提供ASP.NET核心(预览)
模板创建了这个构建定义。因此,只需为您的项目创建一个,并更改为以下内容
任务:
Build.ArtifactStagingDirectory
目录
$(Build.ArtifactStagingDirectory)/$(Build.Repository.Name)/wwwroot/js/app
。因此,归档文件模式参数设置为$(Build.artifactstagindirectory)/dist.zip
,目标文件夹设置为$(Build.artifactstagindirectory)/$(Build.Repository.Name)/wwwroot/js/app
- Cope-P应该有一个基于dist.zip更改的触发器。因此,每当NG-P发生更改时,它都会创建一个新的dist.zip。这将自动触发Cope-P构建。我想会有一些网络挂钩。等我弄明白了再加上
- 因为我是所有构建/发布管道的新手,所以我必须将项目发布到Azure应用程序服务。这应该很容易,因为这是VST的标准任务。我只是没有一点机会去那里
所以,HTH好的,我让它在VST中工作。实际上这并不是一件复杂的事情。我不知道为什么Ctrl+K在这里不起作用,所以代码看起来只是一个普通文本。谢谢!关于如何使用VSTS构建Angular应用程序,您的回答非常有帮助!谢谢你提供的信息,我还在努力把它送到