Трубопроводы Azure YAML: Как направить проект и репо в другой проект в Azure DevOps

#azure-devops #azure-pipelines-yaml

Вопрос:

Я нахожусь в организации ABC, в ней есть три проекта Azure DevOps, а именно A, B и C. Все находится в репозиториях Azure, что означает, что мы не используем GitHub.

Я пытаюсь выполнить проверку в проекте C репозиториев из проектов A и B. У каждого проекта будут свои микросервисы, но службы общей платформы автоматизируют то, что необходимо развернуть в AKS.

Постановка проблемы: Я получаю ошибку, как показано ниже, когда пытаюсь проверить репозитории из проектов A и B в проекте C. Фрагмент, как показано ниже:

 resources:
  repositories:
    - repository: microservice-a
      type: git
      name: 'InPlaceCommunications/microservice-a'
      ref: master

    - repository: microservice-b
      type: git
      name: 'Project B/microservice-b'
      ref: master
 

Однако я получаю ошибку, как показано ниже:

 remote: TF401019: The Git repository with name or identifier microservice-a does not exist or you do not have permissions for the operation you are attempting.
 

Любые рекомендации будут очень признательны.

Я отмечаю, что у меня есть полные права на клонирование репо, но это просто не происходит в конвейере.

Ответ №1:

удаленное: TF401019: Репозиторий Git с именем или идентификатором microservice-a не существует или у вас нет разрешений на операцию, которую вы пытаетесь выполнить.

Основываясь на сообщении об ошибке, вам необходимо проверить следующие два пункта:

  1. Проверьте, отключена ли опция Ограничить область авторизации заданий текущим проектом для конвейеров без выпуска в проекте C- > Настройки проекта — > > Настройки>>. Вам необходимо отключить эту опцию.

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

  1. Проверьте, имеет ли Учетная запись службы: Служба сборки коллекции проектов (Имя организации) Разрешение на чтение в проекте A/B -> Настройки проекта ->> Хранилища ->>> Целевые репозитории ->>>> Безопасность>>>>>.

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

Комментарии:

1. Большое тебе спасибо, Кевин! Я сделал первый, и он сработал как заклинание. Однако мои локальные репозитории из проекта C выдают мне ошибки, как показано ниже: удаленный: TF200016: Следующий проект не существует: Проект C. Убедитесь, что имя проекта правильное и что проект существует на указанном сервере Azure DevOps. фатально: Не удалось прочитать из удаленного репозитория. Пожалуйста, убедитесь, что у вас есть правильные права доступа и хранилище существует.

2. Я понял, в чем проблема. Ничего общего с решением, которое вы предложили. Один из членов команды удалил пространство в проекте Azure DevOps, поэтому я получаю ошибку!