Оформить заказ на частный github в Azure конвейерном задании, используя сервисное соединение - PullRequest
1 голос
/ 08 января 2020

Я хочу оформить одно из частных репо, которое находится в той же организации GitHub на одном из Azure этапов конвейера, на основе документации Azure, вот что я попробовал:

https://docs.microsoft.com/en-us/azure/devops/pipelines/repos/multi-repo-checkout?view=azure-devops

resources:
  repositories:
  - repository: pipelinetemplates
    type: github
    name: myorg/myrepotemplate
    endpoint: mygithub-serviceconnection
  - repository: myrepo
    type: github
    name: myorg/myrepo
    endpoint: mygithub-serviceconnection
stages:
- stage:
  jobs:
  - job: Build
    steps:
    - template: Template/build.yaml@pipelinetemplates ##It works fine
    pool:
       vmImage: 'ubuntu-latest'

- stage:
  jobs:
   - job: A
     pool:
       vmImage: 'ubuntu-latest'
     steps:
     - checkout: myrepo  ##Error-not found repo
     - task: PowerShell@2
       inputs:
        targetType: 'inline'
        script: |
          Write-Host "Fetching files"
          ls

Я получаю это сообщение об ошибке в части оформления заказа:

Syncing repository: myorg/myrepo (github)
git version
git version 2.24.0
git lfs version
git-lfs/2.9.1 (GitHub; linux amd64; go 1.13.1)
git init "/home/vsts/work/1/s"
Initialized empty Git repository in /home/vsts/work/1/s/.git/
git remote add origin https://github.com/myorg/myrepo
git config gc.auto 0
git config --get-all http.https://github.com/myorg/myrepo.extraheader
git config --get-all http.proxy
git -c http.extraheader="AUTHORIZATION: basic ***" fetch --force --tags --prune --progress --no-recurse-submodules origin
remote: Repository not found.
fatal: repository 'https://github.com/myorg/myrepo/' not found
##[warning]Git fetch failed with exit code 128, back off 5.284 seconds before retry.

Кто-нибудь знает, в чем проблема и как ее можно исправить?

Обновлено:

Я мог видеть, что служебное соединение использует GitHub-InstallationToken (используя azure приложение конвейеров). И, основываясь на моих последних поисках, когда мы используем токен GitHub, мы не можем использовать его более одного раза для выборки репозиториев по одному конвейеру, однако в этом конвейере мы вызываем сервис-соединение GitHub два раза. Похоже, токен действителен для однократного использования. Есть ли способ исправить эту проблему?

1 Ответ

0 голосов
/ 13 января 2020

Переустановка GitHub Service-Connection с oauth вместо oauth2 устранила проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...