【问题标题】:Using npm workspaces in Azure CI/CD pipelines to build React web app?在 Azure CI/CD 管道中使用 npm 工作区来构建 React Web 应用程序?
【发布时间】:2021-11-16 08:30:56
【问题描述】:

我目前正在使用一个 React Web 应用程序(由我构建并且之前被搁置),将它带到现在,然后将可重用的部分折叠到我正在构建的新的 React Native 应用程序中。 Web 应用程序现在被工作区使用者控制的package 控制,目前将通过 Azure 上的 CI/CD 部署。

为了管理我正在从当前 repo 开始制作的 monorepo,我想通过需要最小代码和依赖项增量的最简单工具来做到这一点:npm workspaces(npm v7 的新功能) — 而不是像lerna 这样更重且更少“库存”的东西。但是,Azure 最新可用的 Node.js 版本似乎是 14,默认为 npm v6 的最新次要/补丁版本。任何人都可以向我确认,如果我在一个包中构建 Web 应用程序的构建序列,它们目前可以在 Azure 的 CI/CD 上工作吗?或者甚至只是给我更多的颜色?

【问题讨论】:

    标签: node.js azure npm lerna npm-workspaces


    【解决方案1】:

    您是正确的,因为 azure 默认为节点 14 和 npm 6。但是您可以在管道中添加一个步骤,在运行任何其他步骤之前简单地安装 npm 7。

    添加带有自定义任务的步骤。将其设置为运行自定义 npm 命令,如下所示(抱歉格式化,电话接听):

    -任务 Npm@1 输入: 命令:“自定义” 自定义命令:“安装 -g npm@7”

    之后,您的管道将在整个运行过程中使用 npm 7,从而获得工作空间支持。

    然后,您可以像在本地一样继续运行所有支持工作区的 npm 命令。

    【讨论】:

    • 非常感谢,Tor!将在接下来的一三天内试试这个!!!
    • 所以,记录在案......原来npm v7 的工作区不适用于我的用例 b/c,因为缺少 nohoist 选项?‍♂️? 但这仍然是有帮助,一旦它能够处理这个问题,我会去探测的。从lerna 切换回npm v7,所以这仍然有效!再次感谢您!
    • 啊,太糟糕了。很高兴您尝试过并且可以告知:)
    猜你喜欢
    • 1970-01-01
    • 2021-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多