Как я могу сделать pu sh latest для внешнего удаленного источника конвейера сборки DevOps? - PullRequest
0 голосов
/ 27 мая 2020

У меня есть 2 отдельных репозитория кода, содержащих один и тот же код, origin 1 и origin 2. Наша команда разработчиков только подталкивает новый код к origin 1, но мне нужно собрать наш код из origin 2. Я автоматически обновляю два пульта origin, используя Azure Devops CI?

Я думаю использовать Azure Devops Build Pipeline, подключенный к Origin 1, и в сборке добавить Origin 2 в качестве пульта, а затем pu sh изменения, но конвейер DevOps, кажется, отключает голову при клонировании последних изменений.

Есть идеи, как это автоматизировать?

Прямо сейчас у меня есть:

- task: CmdLine@2
  inputs:
    script: |
      echo Adding git remote
      git remote add origin2 https://myRemoteoriginGit
      git push origin2 my-branch
    failOnStderr: true

1 Ответ

1 голос
/ 28 мая 2020

Есть идеи, как это автоматизировать?

В конвейере Origin 1 вы можете попробовать следующий сценарий в PowerShell Task.

- task: PowerShell@2
  inputs:
    targetType: 'inline'
    script: |
      $branch="$(Build.SourceBranch)".replace("refs/heads/","")
      git remote add Reponame https://PAT@dev.azure.com/org/project/_git/reponame
      git checkout $branch
      git push Reponame $branch -f

Вы можете установить Все ветки для запуска этой сборки ( триггеры CI ).

Затем этот скрипт обновит изменения в соответствующей ветке в Origin 2.

Кажется, что конвейер DevOps отсоединяет голову при клонировании последних изменений.

Судя по вашему описанию, я предполагаю, что вы видите этот текст :

Вы находитесь в состоянии «отключенная ГОЛОВА». Вы можете осмотреться, внести экспериментальные изменения и зафиксировать их, и вы можете отказаться от любых коммитов, которые вы делаете в этом состоянии, не затрагивая никакие ветви, переключившись обратно на ветку.

Если да, то вот как Azure DevOps работает. Ничего страшного.

Вот билет , можете сослаться на него.

Надеюсь, это поможет.

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