Как использовать частные пакеты в Azure конвейерах во время сборки CI / CD - PullRequest
0 голосов
/ 10 марта 2020

Я использую Azure CI / CD конвейеры для сборки Flutter. В моем файле Pubspe c yaml у меня есть зависимости, которые являются частными для моего проекта, и код размещен в том же проекте azure devops, но в другом хранилище. Во время сборки (то есть, получение пакетов Flutter) он выдает сообщение об ошибке «Проверка подлинности не удалась» Я попытался с токеном PAT, где до задачи построения флаттера я использовал команду git, чтобы установить этот токен, но это не решило проблему. Кто-нибудь может мне помочь?

Ответы [ 2 ]

1 голос
/ 11 марта 2020

Я открыт для того, чтобы мне показали лучший способ, но вот шаги, которые я предпринял, чтобы немного решить эту проблему: go.

Предполагается, что вы ссылаетесь на пакет в вашем пабсе c. yaml, используя git over s sh on azure devops like:

  repo_name:
    git:
      ref: 'tag or other identifier'
      url: you@vs-ssh.visualstudio.com:v3/you/project/repo_name

  • Создание новой пары ключей s sh на вашем компьютере.
  • Загрузить закрытый ключ в секцию защищенных файлов библиотеки в azure devops.
  • Добавьте задачу установки ключа s sh в свою сборку azure конвейеров, используя пару ключей, созданную на предыдущих шагах, и ссылку на приватную ключ загружен в библиотеку защищенных файлов. ссылка
  • Загрузите ключ publi c в список ключей publi c. (Этот шаг, я не уверен на 100%, что необходим, но я сделал это изначально, и все заработало, поэтому я не изменил, удалил его)

Так что в моем azure -pipelines.yaml этап установки ключа s sh выглядит примерно так, где id_rsa - это имя закрытого ключа в моих защищенных файлах.

          - task: InstallSSHKey@0
            inputs:
              knownHostsEntry: 'vs-ssh.visualstudio.com, ...etc'
              sshPublicKey: 'ssh-rsa ...etc'
              sshKeySecureFile: id_rsa

0 голосов
/ 11 марта 2020

Личный канал создается с такими разрешениями, что только у вас есть доступ.

Агент компоновки запускается с пользователем (учетная запись службы компоновки), предоставьте этому пользователю разрешения в канале. В разделе Настройки канала-> Разрешения назначьте разрешение владельца учетной записи службы сборки.

Также убедитесь, что токен работает, убедитесь, что вы выбрали областей , достаточных для того, чтобы этот токен авторизовался для указанных вами c tasks.

Кроме того, попробуйте добавить переменную system.debug со значением true, и вы получите больше информации о сбое. Это может помочь определить проблему.

...