** TL; DR:当发布管道具有多个工件时如何配置代理作业并设置条件,以便每个工件只能运行一个代理作业? **
我已经在VSTS中设置了一个发布管道,以便它可以将构建工件中的特定文件而不是整个工件部署到目标发布文件夹中。
我想做的是添加更多的工件,从其他构建管道到此发行管道。我的意图是然后克隆现有的代理作业,并为每个代理作业设置一个eq(variables['Build.DefinitionName'],'MyAppBuild')
,以便它们仅在传入的工件与它们相关时才运行。例如,类似:
module "my_vpc":
....
module "gke":
source = "./modules/gke
vpc_id = module.my_vpc.id
我打算仅从构建管道的构建输出中触发此发布管道,因此仅将其传递给单个特定的构建工件。这个想法是,可以将一个管道配置为从任何版本中释放单个文件,而不是为该作业设置多个释放管道。
问题在于,无论我在哪里发布发行版,总是会拾取第一个工件并将其传递给代理作业,这只会导致第一个作业运行而其他作业被跳过。
是否可以触发发布管道并使其接收指定的构建工件,而不是触发工件列表中的工件?