Мои коллеги не хотят создавать свои собственные virtualenv и самостоятельно развертывать мои инструменты из git как часть их автоматизации. Вместо этого они хотят, чтобы инструменты были предварительно установлены на общем сервере.
Так что я думал о создании каталога / opt, помещая туда virtualenv, а затем вытягивая из git каждый час, чтобы вызвать обновление python пакет. В настоящее время я не помечаю версии инструментов, а просто спрашиваю pip, чтобы принудительно обновлять каждый раз.
Проблема в состоянии гонки. Если инструмент вызывается их автоматизацией во время обновления pip, он может выйти из строя из-за того, что установка не выполняется atomi c - я считаю, что pip сначала удаляет весь пакет.
Я думал о различных работах обходные пути (принудительное использование flock, использование symlink для атомарного переключения virtualenv, обертывание инструмента в сценарий, который делает virtualenv во временном каталоге для каждого использования ...)
Есть ли здесь лучшая практика? не в курсе?