要触发发布管道(为构建工件配置),构建管道必须具有 "publish artifact" 任务?

For release pipeline (configured for build artifact) to get triggered, the build pipeline must have the "publish artifact" task?

当构建工件可用时,可以触发发布,如下面的屏幕截图所示。

这是否需要触发发布管道(为构建工件配置),构建管道必须具有"publish artifact"任务?

答案是,即使他没有Publish Artifacts步骤,也会在构建完成时触发发布。

同意Shayki Abramczyk,答案是否定的。但我想也许你需要更多的描述来帮助你理解~

在您的情况下,您将构建管道设置为发布管道的工件。如果您检查了 this document,您会发现这些语句:

1.When 创建发布管道,您 link 将适当的工件源添加到您的发布管道。例如,您可能 link 一个 Azure Pipelines 构建管道或一个 Jenkins 项目到您的发布管道。

2.Note 来自 here: 您必须在构建管道中包含 Publish Artifacts 任务。对于 XAML 构建管道,隐式发布名为 drop 的工件。

3.Auto-trigger releases feature(神器内触发CD): 生成新版本(包括XAML版本)时可以自动创建新版本。有关详细信息,请参阅持续部署。您不需要在构建管道中配置任何内容。有关 TFS 版本之间的差异,请参阅上面的注释。

综上所述,这里的artifact source代表的是a build pipeline而不是the outputs of a build pipeline。因此,当您在工件中启用 CD 触发器时(在您的情况下是构建管道),每当新构建完成时都会触发发布。并且此行为不会受到构建管道是否具有用于发布其输出的 Publish Artifact 任务的影响。

对于2.Note:可以认为我们必须在构建管道中包含一个Publish Artifacts任务,这样发布管道才能访问构建管道的输出。然后我们可以将输出(.dll/.exe 或什么)部署到目标 machines/environments。 (其实我们认为document中的must应该换成It's recommended to/should

Publish Artifacts 任务使构建+发布过程变得有意义。因为如果我们的发布管道无法访问构建管道的输出,我们应该使用什么来部署?但是这个任务存在与否,实际上并不会影响CD的触发。 (就像第三条声明:您不需要在构建管道中配置任何东西