使用.NET Core和Angular构建管道,但是在发布任务期间会进行npm构建吗?

时间:2019-04-07 00:55:36

标签: azure-devops

解决方案中包含一个.NET Core 2.2应用程序,并且一直在使用发布配置文件发布到开发服务器。现在,Ive设置了一个Devops构建pipleline,以便使用本地自托管代理发布。通常可以正常工作,但是我看不到正确的npm构建配置。

当我在本地使用发布配置文件时,我使用csproj文件中的设置来控制用于npm构建的选项。

例如

  <Target Name="PublishRunWebpack" AfterTargets="ComputeFilesToPublish">
    <!-- As part of publishing, ensure the JS resources are freshly built in production mode -->
    <!-- Use conditional builds based on build target setting eg.  debug, dev, prod etc -->
    <Exec WorkingDirectory="$(SpaRoot)" Command="npm run build " Condition=" '$(Configuration)' == 'Debug' " />
    <Exec WorkingDirectory="$(SpaRoot)" Command="npm run build --prod false --configuration=dev" Condition=" '$(Configuration)' == 'Test' " />
    <Exec WorkingDirectory="$(SpaRoot)" Command="npm run build --prod true --configuration=prod" Condition=" '$(Configuration)' == 'Release' " />
    <Exec WorkingDirectory="$(SpaRoot)" Command="npm run build:ssr --configuration=prod" Condition=" '$(BuildServerSideRenderer)' == 'true' And  '$(Configuration)' == 'Release' " />

但是,直到发布步骤,我的构建管道中的npm build才运行。然后是默认的“ ng build”,没有设置以使用正确的角度环境值。

在npm构建任务上,我将其用于自定义命令

  

build --prod false --configuration = dev

但是它似乎在构建期间没有运行。

如何获取正确的npm构建设置来运行?

我的构建管道如下所示 enter image description here

1 个答案:

答案 0 :(得分:0)

a)我遇到了同样的问题,并通过添加package.json文件来解决此问题。    脚本中的新命令(请参见下图)

“ build-staging”:“ ng build --configuration = staging”

Package.json

b)我还更新了构建定义 npm build

c)我删除了publishrunwebpack节点下 .csproj文件中的exec行 e .csproj file

这导致根据环境运行正确的nb构建命令。