Как синхронизировать репозитории VSTS и Github при совершении транзакций

У меня есть репозиторий в службах визуальной студии, которые я хотел бы синхронизировать с репозиторием github.

Это позволяет мне выполнять основную разработку в VSTS, а при слиянии с мастером она будет синхронизирована с github, а также позволит другим вносить вклад в github и когда Pull Requests объединяются в master, синхронизируются с VSTS.

Ответы

Ответ 1

Сначала создайте новую сборку на VSTS, которая использует репозиторий, который должен быть синхронизирован с VSTS:

VSTS Build

добавьте две задачи CMD, которые будут запускать некоторые команды git. git pull remote введите описание изображения здесь

где последний из двух нуждается в токенах доступа от Github.

В изображениях задачи CMD используют инструмент git и следующие две команды:

pull https://github.com/s-innovations/MessageProcessor.ServiceFabric.git master

и

push https://$(githubpersonaltoken)@github.com/s-innovations/MessageProcessor.ServiceFabric.git head:master

Включите параметр CI, чтобы запускать сборку, которая запускается всякий раз, когда что-то совершается, чтобы выполнить мастер.

Теперь то же самое можно сделать по-другому, когда новая сборка будет сделана аналогичным образом, но с URL-адресами, измененными на целевой онлайн-репозиторий визуальной студии.

push to vsts

Обратите внимание, что при использовании личных токенов в vsts идентификационная часть URL должна быть https://:[email protected] и на github его просто https://[email protected].

push https://$(vstspersonaltoken)@sinnovations.visualstudio.com/DefaultCollection/S-Innovations%20MessageProcessor/_git/messageprocessor-service-fabric head:master

Обновить AUG 2017

Они изменили его на VSTS, например, если двоеточие присутствует, он будет терпеть неудачу. Вышеприведенное описание было обновлено.