Как синхронизировать репо в Bitbucket с сервисом Visual Studio Team?

Я очень плохо знаком с платформой VSTS. В одном из моих проектов я пытаюсь интегрировать управление исходным кодом bitbucket в VSTS. Таким образом, я смогу видеть обновления, сделанные на bitbucket, для учетной записи VSTS.

Я попытался создать сборку на VSTS, но это показывает только историю коммитов выбранного хранилища bitbucket.

Есть ли способ управлять всеми изменениями битового сегмента в VSTS в качестве контроля исходного кода?

2 ответа

Решение

Чтобы автоматически синхронизировать изменения из репозитория bitbucket в VSTS git repo, этого можно добиться с помощью определения сборки VSTS. Подробные шаги, как показано ниже:

1. Создайте определение сборки с помощью репозитория Bitbucket.

При создании определения сборки VSTS -> выберите репозиторий Bitbucket, который вы хотите синхронизировать -> создать.

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

2. Включить непрерывную интеграцию

В определении сборки -> вкладка Триггеры -> Включить непрерывную интеграцию -> Включить все ветви с *,

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

3. Добавьте задачу PowerShell со сценарием для синхронизации репозитория bitbucket с VSTS git repo.

Добавьте задачу PowerShell с помощью следующего сценария:

if ( $(git remote) -contains 'vsts' )
{git remote rm vsts
echo 'remove remote vsts'
}

$branch="$(Build.SourceBranch)".replace("refs/heads/","")
git remote add vsts https://Personal%20Access%20Token:PAT@account.visualstudio.com/project/_git/repo
git checkout $branch
git push vsts $branch -f

Подробные инструкции по добавлению и настройке задачи PowerShell приведены ниже:

Отредактируйте определение вашей сборки -> Нажмите + чтобы добавить задачу для фазы агента -> Поиск задачи PowerShell -> нажмите кнопку Добавить -> щелкните добавленную вами задачу PowerShell -> выберите тип Inline -> затем добавьте сценарий PowerShell в параметре "Сценарий" -> "Сохранить определение сборки".

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

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

Теперь, независимо от того, какая ветка обновляется в вашем репозитории битбакетов, VSTS git repo будет синхронизироваться автоматически.


Синхронизируя изменения с VSTS git repo на bitbucket repo, вы можете создать еще одну сборку CI для достижения этой цели. Подробные шаги, как показано ниже:

1. Создайте сборку CI с помощью VSTS git repo.

введите описание изображения здесь2. Включить непрерывную интеграцию введите описание изображения здесь3. Добавьте задачу PowerShell со следующими аспектами

if ( $(git remote) -contains 'bitbucket' )
{git remote rm bitbucket
echo 'remove remote bitbucket'
}

git remote add bitbucket https://username:password@bitbucket.org/username/repo.git 
$branch="$(Build.SourceBranch)".replace("refs/heads/","")
git checkout $branch
git push bitbucket $branch -f

Когда вы подключаете свою учетную запись Bitbucket к VSTS, вы настраиваете триггеры сборки для запуска автоматических сборок по запросу или слиянию. Это то, что называется "непрерывной интеграцией" в мире DevOps.

Вы можете прочитать документацию для получения дополнительной информации по этой теме.

Вы продолжите "управлять" своими репозиториями Bitbucket в Bitbucket. Это совершенно отдельно. Если вы хотите управлять всем через VSTS, вам следует импортировать репозиторий Bitbucket в свою учетную запись VSTS.

Другие вопросы по тегам