#azure-devops
Вопрос:
У меня есть репозиторий разработки, в котором, когда в него вводятся новые изменения, должен выполняться конвейер выпуска. Конвейер должен принять изменения, внесенные в это хранилище, и синхронизировать их в производственном репозитории. Все хранилища расположены в Azure DevOps. Каков самый простой способ добиться чего-то подобного?
Комментарии:
1. Используйте ветви. Для этого они и предназначены.
2. @DanielMann Я согласен, но это не решает проблему синхронизации двух разных репозиториев
Ответ №1:
Создание конвейера выпуска для синхронизации производственного репо
В данный момент нет другого способа достичь этого.
Чтобы решить эту проблему, нам нужно создать конвейер для production
репозитория, чтобы вызвать командную строку git для клонирования development
репозитория, а затем перейти в production
репозиторий:
Write-Host Starting the synchronization process
mkdir copyrepo
$sourceURL = "https://$(AZUREPO1PAT)@$(AZUREPO1)"
$destURL = "https://$(AZUREPO2PAT)@$(AZUREPO2)"
Set-Location "$(Build.SourcesDirectory)/copyrepo"
git clone --mirror $sourceURL
Set-Location "$(Build.SourcesDirectory)/copyrepo/"
Write-Host "*****Git removing remote origin****"
git remote rm origin
Write-Output "*****Git remote add****"
git remote add --mirror=fetch origin $destURL
Write-Output "*****Git fetch origin****"
git fetch $sourceURL
Write-Output "*****Git push to Azure Repos****"
git push origin --all -f
И мы также могли бы включить ИЦ для этого трубопровода. В этом случае, как только в репозиторий будут отправлены какие-либо изменения development
, это вызовет синхронизацию конвейера с production
репозиторием.
Вы можете проверить эту тему для получения более подробной информации.