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

问题描述 投票:0回答:1

在解决方案中使用.NET Core 2.2应用程序并使用发布配置文件发布到开发服务器。现在,我已经设置了一个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构建在发布步骤之前不会运行。然后是默认的“ng build”,没有设置来使用正确的角度环境值。

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

build --prod false --configuration = dev

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

如何才能运行正确的npm构建设置?

我的构建管道看起来像这个enter image description here

azure-devops
1个回答
0
投票

a)我遇到了同样的问题,我通过在脚本中添加一个新命令来更新package.json文件来解决这个问题(参见附图)

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

Package.json

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.