Как делает “отложенную фиксацию”, работают с репозиториями управления исходным кодом и серверами CI?

Я хотел бы знать, как "отложенная фиксация" функциональность работает над серверами CI, которые не интегрируются с репозиториями управления исходным кодом. Концептуально, работы процесса как следуют:

  1. Регистрация изменений кода
  2. Сервер CI создает изменения
  3. Если сборка передает, код посвящает себя репозиторию управления исходным кодом
  4. Если сборка перестала работать, код не посвящает себя репозиторию управления исходным кодом

Большинство серверов CI работает путем опроса репозиториев управления исходным кодом относительно изменений и затем раскрытия кода. Таким образом в отложенном сценарии фиксации, разработчики проверяют свой код в сервере CI, а не фактическом управлении исходным кодом репозитории, и затем сервер CI передает код репозиторию? Или альтернативно серверы CI просто откатывают изменения, если сборка перестала работать?

Я думаю о двух непрерывных системах интеграции в частности. Сервер Основы команды собирается предложить эту функциональность в следующей версии, но это имеет смысл, потому что Сборка Команды (система CI) в TFS интегрируется с репозиторием управления исходным кодом. Однако в случае Города Команды, TC может соединиться с любой системой управления исходным кодом и не обязательно интегрируется с или даже на том же сервере как репозиторий управления исходным кодом. Как это работает?

Править: Открытие щедрости по этому вопросу в надеждах, что я могу получить некоторые более возможные ответы.

7
задан The Matt 19 January 2010 в 23:37
поделиться

2 ответа

Обычно вы должны использовать инструмент командной строки или плагин IDE, который позволяет вам отправлять свой код на сервер CI. Инструмент объединяет ваши изменения вместе со всеми соответствующими метаданными проектами / репозиториями / пользователями, запускает сборку, а затем совершает его, если все пойдет хорошо.

В случае Teamcity, похоже на сервер фактически отправляет сообщение одобрения обратно на ваш компьютер ( от того, что я могу сказать с диаграммы ), то она предана оттуда - предположительно, так вы Не нужно иметь учетные данные каждого пользователя, которые могут быть сложными, если вы используете SSH частные клавиши и т. Д. - На вашем TC-сервере.

Но СИ серверы CI могут интегрироваться с практически любой любой системой SCM, независимо от того, где находится сервер - вам просто нужно дать ему правильные учетные данные, чтобы получить (вообще только для чтения).

2
ответ дан 7 December 2019 в 16:42
поделиться

Это делает что-то подобное:

TeamCity Pre-test commit
(Источник: kawalerowicz.net )

Так что это клиент машина, которая делает коммит. Не сервер. СКМ не имеет значения в этом случае.

1
ответ дан 7 December 2019 в 16:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: