#git #tfs
#git #tfs
Вопрос:
Моя команда разрабатывает веб-приложение, помогающее автоматизировать тестирование (серверная часть flask python).
Когда требуется тест, разработчик пишет некоторый код «test_code1», который может быть python, matlab или просто некоторым кодом sql. Код передается в репозиторий git, который размещен на сервере tfs, таким образом, легко связать коммиты с элементами tfs.
Однако наше приложение размещено на другом сервере, и мы работаем над клоном этого репозитория tfs (рассматривается только одна ветвь, переключаться не нужно).
Это создает некоторую дополнительную работу для разработчика тестов. Он отправил свой тестовый код (на сервер tfs) и хочет определить свой тест. Он переходит к окну определения теста, но его файла по-прежнему там нет, потому что для того, чтобы файл был на сервере, ему нужно авторизоваться на сервере и выполнить команду git pull.
Я хотел, чтобы файл был доступен разработчикам тестов на сервере без необходимости выполнения ими каких-либо других задач.
Я подумал о нескольких способах и хотел бы знать, подходит ли мое решение (есть ли какие-то идиомы, dos и не dos в моем случае?):
-
Запускайте команду git pull всякий раз, когда кто-то открывает окно определения теста или окно запуска теста. Поскольку окно определения теста — это единственный способ для разработчиков определить тест в системе, и единственный способ запустить его — через окно run test, это звучит законно. Ожидается, что приращения в volumn репозитория будут довольно небольшими, поэтому время извлечения должно быть коротким.
-
Нет клонирования. Скопируйте тестовый код из репозитория tfs всякий раз, когда требуется тест. Ожидается, что объем обычного тестового файла не превысит 100 кб, но ожидается, что мы запустим тысячи тестов, поэтому это может значительно замедлить работу нашей системы.
-
Запускайте команду git pull каждые пару секунд. Простой процесс для запуска этой системной команды. Должно быть довольно просто.
Комментарии:
1. Не мой выбор. В настоящее время мне не разрешено устанавливать наше приложение на сервер tfs.
Ответ №1:
С технологической точки зрения вам просто нужно принудительно синхронизировать ваш локальный репозиторий git и удаленный репозиторий TFS server.
Обычно мы делаем это вручную, вы хотите, чтобы этот процесс был автоматическим.
Я бы выбрал решение 1, и оно наиболее логично, учитывая доступные технологии.
В качестве обходного пути следует выбрать решение 3.