Правильные настройки / разрешения конвейера и подачи

Мы близки к развертыванию нашего первого пилотного проекта конвейеров Azure и артефактов Azure, но я (все еще) как-то теряюсь с правильными настройками конвейеров и артефактов.

Наша установка следующая.

У каждого проекта Azure есть канал, куда конвейеры нескольких репозиториев GIT в этом проекте отправляют свои универсальные пакеты.

Сам конвейер потребляет универсальные пакеты из каналов того же, но и других проектов той же организации ADO.

Теперь я увидел настройки для конвейеров. Ограничить объем авторизации заданий текущим проектом для конвейеров, не связанных с выпуском, а также настройки ленты «Организация» и «Объем проекта», и я не знаю, что установить для поддержки нашего сценария. Я прочитал официальную документацию, но почему-то все еще не уверен, что настроить.

Вы можете помочь?

Спасибо


person Marko    schedule 16.07.2020    source источник


Ответы (1)


Какую область вы предпочитаете, фид проекта-Scope или фид Organization-Scope?

Самая большая разница между ними:

1.Если вы создаете фид в рамках организации в ProjectA, кто-то (если вы предоставите ему разрешения на фид) может просматривать и управлять фидом из любого проекта в той же организации. Это означает, что люди могут просматривать сведения о ленте даже в ProjectB.

2.Если вы создаете канал в рамках проекта в ProjectA, только участники ProjectA могут просматривать этот канал через страницу артефактов:

введите описание изображения здесь

Но, насколько я знаю, они оба работают для вашего сценария, независимо от того, какой объем вы выберете.

Итак, у вас есть два направления:

1. Создайте фид в рамках организации в ProjectA, затем настройте параметры фида:

введите описание изображения здесь

Затем предоставьте роль Участник службе сборки ProjectB и группе ProjectB:

введите описание изображения здесь

Чтобы члены группы ProjectB Team (ProjectB Team) могли видеть канал на странице артефактов ProjectB, а конвейер (служба сборки ProjectB) мог загружать / публиковать пакет из / в канал.

2. Создайте фиды содержания проекта для каждого проекта. 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. Для использования пакета требуется роль читателя, а для публикации пакета - как минимум роль участника.

И обычно вы можете отключить Limit job authorization scope to current project for non-relase pipelines параметр, чтобы избежать / устранить ошибку 404, такую ​​как этот билет.

person LoLance    schedule 17.07.2020
comment
OK. Спасибо. Есть ли способ сделать фид в рамках организации снова в рамках проекта? Я пробовал это, переняв разрешения и настройки просмотра из канала в рамках проекта в канал в рамках организации, но в раскрывающемся списке селектора каналов один канал по-прежнему отображается в рамках проекта, тогда как другой по-прежнему отображается как org -scoped, хотя оба имеют одинаковые разрешения и настройки просмотра. - person Marko; 19.07.2020
comment
Еще один последний вопрос: как насчет прав доступа в представлениях? Скажем, локальный вид по умолчанию? Какая связь между разрешениями для каналов и разрешениями на доступ к представлениям? - person Marko; 20.07.2020
comment
Что касается вашего первого вопроса, поскольку я знаю, что нет способа изменить существующий фид в рамках проекта на фид в рамках организации или изменить существующий фид в масштабе организации на фид в рамках проекта. Разрешения и разрешения на просмотр - это просто настройки, связанные с разрешениями, они не имеют ничего общего с областью фида (область проекта или область организации). - person LoLance; 20.07.2020
comment
@Marko Что касается второго вопроса, фид обычно содержит разные представления. Если personA разрешено указывать в ленте Permissions, то он является одним из пользователей канала, у которого есть доступ к этому каналу. Поскольку мой канал имеет представления Local, PreRelease и Release, а их права доступа feed users по умолчанию, PersonA может получить доступ к трем представлениям в канале. - person LoLance; 20.07.2020
comment
О взаимосвязи между разрешениями на ленту и разрешениями на просмотр: см. Последний important: если у пользователя есть разрешение на определенное представление , и даже если у них нет разрешения на канал, они все равно смогут получать доступ и загружать пакеты через это представление. - person LoLance; 20.07.2020
comment
A может получить доступ к ленте = ›A может получить доступ ко всем представлениям в этом ленте по умолчанию. B не может получить доступ к каналу, но он может получить доступ к локальному представлению = ›Тогда B сможет получить доступ к пакетам в локальном представлении в этом канале, но не сможет получить доступ к другим представлениям в этом канале. Права доступа к каналу определяют, кто может получить доступ к каналу и всем представлениям в нем, а разрешение на доступ к просмотру, которые могут получить доступ к текущему конкретному представлению. - person LoLance; 20.07.2020