正确的管道和饲料 settings/permissions

Correct pipeline & feed settings/permissions

我们即将推出我们的第一个 Azure 管道和 Azure Artifacts 试点,但我(仍然)不知何故迷失了管道和工件的正确设置。

我们的设置如下。

每个 Azure 项目都有一个提要,该项目中多个 GIT 存储库的管道将它们的通用包推送到该提要。

管道本身正在使用来自相同以及同一 ADO 组织的其他项目的提要的通用包。

现在我看到了管道设置“将作业授权范围限制为非发布管道的当前项目”和提要设置“组织和项目范围”,但我不知道要设置什么来支持我们的场景。官方文档我都看了,但是还是不知道怎么配置。

你能帮忙吗?

谢谢

你更喜欢哪个范围,Project-Scope feed or Organization-Scope feed

它们最大的区别是:

1.If 您在 ProjectA 中创建了一个组织范围的提要,某人(如果您向他授予提要权限)可以查看和管理来自同一组织内任何项目的提要。这意味着人们甚至可以在 ProjectB 中查看提要详细信息。

2.If 您在 ProjectA 中创建了一个项目范围的提要,然后只有 ProjectA 的成员可以通过 Artifacts 页面查看此提要:

但据我所知,无论您选择哪个范围,它们都适用于您的场景。

所以你有两个方向:

1.Create ProjectA 中的组织范围提要,然后配置提要设置:

然后将 贡献者 角色授予 ProjectB 构建服务和 ProjectB 团队:

以便 ProjectB 团队组 (ProjectB Team) 中的成员可以在 ProjectB 的工件页面中看到提要,并且管道 (ProjectB 构建服务) 可以 download/publish 打包 from/to 提要。

2.Create 每个项目的项目范围提要。 ProjectA=>FeedA, ProjectB=>FeedB, ProjectC=>FeedC.

对于ProjectA将包推送给FeedA,而ProjectB/ProjectC将从FeedA消费包的场景:您可以编辑FeedA的提要设置,将相应的角色添加到ProjectA build service, ProjectB Team and ProjectB build service, ProjectC Team and ProjectC build service。使用包需要 reader 角色,而发布包至少需要贡献者角色。

通常你可以禁用 Limit job authorization scope to current project for non-relase pipelines 选项来 avoid/resolve 404 错误如 this ticket.