Azure devops 如果下载的工件比部署在azure devops中的工件更新,是否有办法只运行部署作业?

Azure devops 如果下载的工件比部署在azure devops中的工件更新,是否有办法只运行部署作业?,azure-devops,azure-pipelines,azure-pipelines-release-pipeline,release-management,Azure Devops,Azure Pipelines,Azure Pipelines Release Pipeline,Release Management,当前的场景是我想要一个具有多个工件(一个函数和几个API)的发布管道。每一个都有一个cd触发器,除了一个现在是手动的prod 在管道中,如果部署的管道与原始管道相同,是否有方法防止特定作业运行 例如,对其中一个API进行了更改,但其余API保持不变。我希望创建和部署该版本,但只运行链接到该特定工件的部署作业 原因是,对于部署到生产环境,最好将我要部署的所有工件都放在一个地方,而我要部署到prod所要做的就是点击deploy,如果最新工件较新,那么部署的工件将被部署,但如果不是,则部署将被跳过 现

当前的场景是我想要一个具有多个工件(一个函数和几个API)的发布管道。每一个都有一个cd触发器,除了一个现在是手动的prod

在管道中,如果部署的管道与原始管道相同,是否有方法防止特定作业运行

例如,对其中一个API进行了更改,但其余API保持不变。我希望创建和部署该版本,但只运行链接到该特定工件的部署作业

原因是,对于部署到生产环境,最好将我要部署的所有工件都放在一个地方,而我要部署到prod所要做的就是点击deploy,如果最新工件较新,那么部署的工件将被部署,但如果不是,则部署将被跳过

现在,每个工件都在一个单独的发布管道中,并且每个工件都被单独部署,这意味着我们将保留一个单独的文档,其中包含一个列表,其中列出了需要为一组特定的更改部署的所有发布管道


任何方向都将不胜感激,提前感谢。

我认为您可以通过多阶段和触发器来实现这一点。您可以按照以下步骤操作:

  • 创建发布管道
  • 添加所有工件
  • 创建多个阶段。根据您的需求,您可能需要与您的工件一样多的阶段
  • 为每个阶段设置触发器。单击舞台左侧的闪电图标。在“触发器”中,选择“释放后”。然后启用“工件过滤器”。选择与此阶段对应的工件作为触发器。以下是一个例子:
  • 然后您的发布管道将如下所示:


    当一个工件发生变化时,相应的阶段会被触发,其他阶段不会运行。

    哇,我真不敢相信我没有想到这一点。谢谢