Я разрабатываю сценарии для представления стимулов в эксперименте по когнитивной нейробиологии (на проприетарном языке). «Развертывание» этих сценариев означает просто копирование их на рабочий стол компьютера с Windows 7 в лаборатории, откуда их могут запускать разные экспериментаторы. Эта машина находится внутри VPN и может подключаться к Интернету, но она не всегда включена и включается только через нерегулярные промежутки времени и в нее входят разные учетные записи пользователей. У меня есть права администратора, физический доступ только пару раз в неделю.
Я хотел бы использовать git+github, но мне интересно, как реализовать «развертывание» в таком рабочем процессе. Одной из идей было бы установить git на «производственную» машину и использовать планировщик задач Windows для «git pull» ветки master при каждой загрузке / регулярно. Он должен быть невидимым для текущего пользователя компьютера (без запроса UAC или всплывающих окон с возможной ошибкой) и не влиять на производительность системы; Важно отметить, что если мой эксперимент в настоящее время выполняется, файлы не должны быть затронуты. Если это жизнеспособно, что может быть хорошим способом сделать извлечения видимыми в истории git как развертывания, включая информацию о том, были ли внесены какие-либо изменения? Последовательность будет такой:
changes to develop branch -> merge develop into master (maybe tag it with a version number) -> time goes by -> 'production' machine does a git pull
В следующий раз, когда будет проведен эксперимент, изменения этой версии вступят в силу.
Это будет означать, что иногда существуют теговые версии главной ветки, которые никогда не попадают на рабочую машину, потому что я установил более новую версию, прежде чем рабочая машина была снова включена.