在多个 azure 管道作业上共享 angular cli 结果
Share angular cli result over multiple azure pipeline jobs
如何跨步骤共享我的 angular cli?
目前,我几乎把所有东西都放在了一大步中,以便在所有任务中共享 npm ci
的结果。这使得定义条件和任务并行化变得复杂。
我正在尝试设置一个 azure 管道,它在不同的步骤中执行以下操作
- 准备环境(获取源代码,安装 angular cli)
- 验证(npm 运行 lint,npm 运行 测试,发布测试结果)
- 创建工件(构建演示和产品二进制文件,压缩它们,将它们作为工件发布)
- 发布到演示环境
- 发布到产品环境
一些步骤以触发器或 master/feature 分支为条件,一些步骤可以 运行 并行进行。将它们分成几步会触发全新的代理,这些代理不再具有我之前任务的结果。
没有共享任务结果的默认方式。对于某些任务,例如 installs angular cli
,您必须在每个新代理上安装它,除非您使用自托管代理。对于 publish test results
等任务,如果要重复使用结果,则需要将结果发布到 public 位置。
我建议您使用 task group。任务组允许您将已经在构建或发布管道中定义的一系列任务封装到一个可重用的任务中,该任务可以添加到构建或发布管道,就像任何其他任务一样。使用任务组,您不必在管道中添加那么多任务。
YAML 管道不支持任务组。相反,在这种情况下,您可以使用模板。参见 YAML schema reference。
如何跨步骤共享我的 angular cli?
目前,我几乎把所有东西都放在了一大步中,以便在所有任务中共享 npm ci
的结果。这使得定义条件和任务并行化变得复杂。
我正在尝试设置一个 azure 管道,它在不同的步骤中执行以下操作
- 准备环境(获取源代码,安装 angular cli)
- 验证(npm 运行 lint,npm 运行 测试,发布测试结果)
- 创建工件(构建演示和产品二进制文件,压缩它们,将它们作为工件发布)
- 发布到演示环境
- 发布到产品环境
一些步骤以触发器或 master/feature 分支为条件,一些步骤可以 运行 并行进行。将它们分成几步会触发全新的代理,这些代理不再具有我之前任务的结果。
没有共享任务结果的默认方式。对于某些任务,例如 installs angular cli
,您必须在每个新代理上安装它,除非您使用自托管代理。对于 publish test results
等任务,如果要重复使用结果,则需要将结果发布到 public 位置。
我建议您使用 task group。任务组允许您将已经在构建或发布管道中定义的一系列任务封装到一个可重用的任务中,该任务可以添加到构建或发布管道,就像任何其他任务一样。使用任务组,您不必在管道中添加那么多任务。
YAML 管道不支持任务组。相反,在这种情况下,您可以使用模板。参见 YAML schema reference。