MSBuild卡在NPM任务上

时间:2018-09-17 12:04:43

标签: powershell msbuild msbuild-task npm-scripts

我正在创建公司项目上的自动化部署流程。实际上,publish profile是:

  • 使用PS命令构建Angular项目
  • 在服务器上复制dist文件。

主要目标是与WebAPI后端同时部署Angular前端。而且工作正常。

我现在的主要问题是MSBuild卡在npm run buildDev上。返回命令后,需要花费3分钟以上的时间才能继续执行,我无法确切找到导致进程等待的原因。

很明显,它是直接在npm script中,因为我在PS脚本末尾添加了Exit 1;,并且在构建结束后3分钟触发了它。

这是我的.pubxml重要部分:

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    ...

    <PipelineDependsOn>
      CustomBeforePublish;
      $(PipelineDependsOn);
    </PipelineDependsOn>

    <CopyAllFilesToSingleFolderForPackageDependsOn>
      ...
  </PropertyGroup>

  <Target Name="CustomBeforePublish">
    <Message Text="CustomBeforePublish - Build Angular Application" Importance="high" />
    <Exec Command="powershell.exe &quot;Push-Location ..\FrontEndDirectory\; npm run buildDev; Pop-Location;&quot;" />
  </Target>

  <Target Name="CustomCollectFiles">
    <ItemGroup>
      <_CustomFiles Include="$(MSBuildProjectDirectory)\dist\**" />
      <FilesForPackagingFromProject Include="%(_CustomFiles.Identity)">
        <DestinationRelativePath>dist\%(RecursiveDir)%(Filename)%(Extension)    </DestinationRelativePath>
      </FilesForPackagingFromProject>
    </ItemGroup>
  </Target>
</Project>

并且如上所述,该过程停留在npm任务的末尾。

2>chunk {main} main.js, main.js.map (main) 401 kB [initial] [rendered]
2>chunk {polyfills} polyfills.js, polyfills.js.map (polyfills) 426 kB [initial] [rendered]
2>chunk {runtime} runtime.js, runtime.js.map (runtime) 5.22 kB [entry] [rendered]
2>chunk {styles} styles.js, styles.js.map (styles) 176 kB [initial] [rendered]
2>chunk {vendor} vendor.js, vendor.js.map (vendor) 2.87 MB [initial] [rendered]

是否有办法解决这种奇怪的问题,还是我不得不在每次部署时都等待这么长时间?

不幸的是,

CI或其他体系结构在我的公司中尚不可能。 :(

0 个答案:

没有答案