Estou desenvolvendo scripts para apresentação de estímulos em um experimento em neurociência cognitiva (em uma linguagem proprietária). 'Implantar' esses scripts significa simplesmente copiá-los para a área de trabalho de uma máquina com Windows 7 em um laboratório, de onde diferentes experimentadores podem iniciá-los. Esta máquina vive dentro de uma VPN e pode se conectar à Internet, mas nem sempre é ligada e ativada apenas em intervalos irregulares e conectada por diferentes contas de usuário. Eu tenho direitos de administrador sobre ele, acesso físico apenas algumas vezes por semana.
Eu gostaria de usar o git + github, mas estou querendo saber como implementar a 'implantação' nesse fluxo de trabalho. Uma ideia seria instalar o git na máquina de 'produção' e usar o agendador de tarefas do Windows para um 'git pull' do ramo mestre em cada inicialização / regularmente. Ele teria que ser invisível para o usuário atual da máquina (sem prompt do UAC ou possível erro de popup) e não impactar o desempenho do sistema; importante, se minha experiência estiver em execução no momento, os arquivos não devem ser tocados. Se isso for viável, qual seria uma boa maneira de tornar os pulls visíveis no histórico do git como implantações, incluindo as informações de quais alterações foram obtidas? A sequência seria assim:
changes to develop branch -> merge develop into master (maybe tag it with a version number) -> time goes by -> 'production' machine does a git pull
Na próxima vez que o experimento for realizado, as alterações desta versão estarão em vigor.
Isso significaria que, às vezes, há versões marcadas da ramificação principal que nunca chegam à máquina de produção, porque eu instalei uma versão mais nova antes que a máquina de produção fosse ligada novamente.
Tags windows git deployment