【问题标题】:VSTS build definition using npm task for angular cli build - where's the output?VSTS 使用 npm 任务构建 Angular cli 构建定义 - 输出在哪里?
【发布时间】:2023-03-26 09:36:01
【问题描述】:

我在 Visual Studio Team Services 中使用托管代理创建了一个构建定义,我正在尝试通过一个 npm 任务构建一个 Angular 4 项目,但是当我使用复制文件时或发布工件任务,我寻找输出的地方总是空的。 npm 任务如下所示:

Version: 1.*
Command: custom
Working folder with package.json: $/teamproj/soln/proj
Command and arguments: run vsts-build-dev -op $(BuildArtifactStagingDirectory)\wwwroot

我已尝试通过多种方法控制输出并检索已编译的代码...npm 步骤通常完成,但我永远无法找到输出。目前我有一个名为“vsts-build-dev”的自定义函数,它只运行“ng build-dev”。我不确定是否可以直接构建到 BuildArtifactStagingDirectory 的子文件夹... npm 任务有效,但构建文件的后续 zip 为空。

日志并不总是能完整显示文件的生成位置,我发现调试这些文件很乏味,因为它们总是需要 6 到 10 分钟才能失败...解决文件问题的最佳方法是什么托管代理的路径?

【问题讨论】:

    标签: angular npm azure-devops azure-pipelines azure-pipelines-build-task


    【解决方案1】:

    语法为:npm run <command> [-- <args>]

    例如,命令和参数:run vsts-build-dev -- -op ..\a\wwwroot。 (不能使用构建变量,而是使用相对路径)

    【讨论】:

    • 我试过了,还是不行,BuildArtifactStagingDirectory 还是空的……是相对于 npm 运行时的输出路径,还是正在编译的工作目录(类似于 d:\a\4\s\teamproj\soln\proj)?
    • 跟project.json路径有关,所以使用run vsts-build-dev -- -op ..\..\..\..\a\wwwroot
    • 是的,实际上根本问题也与 .angular-cli.json 文件中硬编码的 -outdir 参数有关,该参数覆盖了这一点,但您的解决方案帮助我实现了目标。
    猜你喜欢
    • 1970-01-01
    • 2018-03-07
    • 1970-01-01
    • 2017-09-02
    • 2011-07-17
    • 1970-01-01
    • 2017-01-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多