Lerna 包和 PublishBuildArtifactsV1 任务

Posted

技术标签:

【中文标题】Lerna 包和 PublishBuildArtifactsV1 任务【英文标题】:Lerna packages and PublishBuildArtifactsV1 Task 【发布时间】:2021-02-24 00:30:09 【问题描述】:

我们在存储库中有 3 个包(A、B、C)。每个包都有 dist/some-data。 (而且,这些包裹数量可能会增加)

使用 3 个不同的 dist 路径硬编码 PublishBuildArtifactsV1 就可以了。

有没有办法,我们可以使用不同的文件路径和工件名称对 PublishBuildArtifactsV1 任务执行 ForEach 循环?

提前致谢,

拉格!

【问题讨论】:

嗨 Anuraag Vodnala,您有机会实施我建议的解决方案吗?你能解决吗? 感谢您的建议。已解决。 【参考方案1】:

您可以为每个包定义一个单独的管道,查看 CI triggers 中的 paths。

此外,如果您的包具有相似的结构并且需要相同的步骤来创建/测试/发布包,您可以创建一个模板,该模板将包含一组操作,并在构建期间传递参数,例如:

部署-xxx.yaml:

parameters:
  param : []

steps:
  - $each filename in parameters.param
    - scripts: 'echo $ filename  '

管道.yaml:

steps:
 - template: deploy-xx.yaml
   parameters:
     param: ["filaname1","filaname2","filaname3"]

查看文档Solving the looping problem in Azure DevOps Pipelines 了解更多详情。

更多详情请查看官方文档Templates。

您还可以查看 Krzysztof Madej 的在类似问题中的回复:Using Lerna.js and Azure Devops Pipeline

【讨论】:

以上是关于Lerna 包和 PublishBuildArtifactsV1 任务的主要内容,如果未能解决你的问题,请参考以下文章

sh [Lerna添加依赖] #tags:lerna,npm

“Lerna List”和“Lerna Changed”返回 0 个包

带有监视任务的 Lerna - lerna run --parallel

无法运行lerna的命令

将 Lerna 与 Yarn 工作区一起使用有啥优势吗?

lerna入门教程