Python 如何知道virtualenv是否需要同步,以避免为部署在Jenkins上的每个作业运行pipenv sync
我在Jenkins的从机上运行Python3.7,该从机位于项目git中的Pipfile.lock创建 对于我在从属服务器上部署的每个作业,我需要知道virtualenv是最新的还是需要pipenv同步 目前,pipenv没有提供一种方法来检查现有virtualenv是否与它相关的Pipfile.lock匹配 我目前正在使用下面的脚本来检查上述内容,但我想知道是否有更好的\更简单\正式的方法来做到这一点 我的方法:Python 如何知道virtualenv是否需要同步,以避免为部署在Jenkins上的每个作业运行pipenv sync,python,jenkins,virtualenv,pipenv,pipfile,Python,Jenkins,Virtualenv,Pipenv,Pipfile,我在Jenkins的从机上运行Python3.7,该从机位于项目git中的Pipfile.lock创建 对于我在从属服务器上部署的每个作业,我需要知道virtualenv是最新的还是需要pipenv同步 目前,pipenv没有提供一种方法来检查现有virtualenv是否与它相关的Pipfile.lock匹配 我目前正在使用下面的脚本来检查上述内容,但我想知道是否有更好的\更简单\正式的方法来做到这一点 我的方法: if virtualenv exists and Pipfile.lock.ba
if virtualenv exists and Pipfile.lock.back exists:
compare md5sum of Pipfile.lock from project's Git vs. a previous copy Pipfile.lock.bak
if files are identical:
skip pipenv sync
finish
else:
perform pipenv sync
if sync is successful:
save a copy of project Git Pipfile.lock as Pipfile.lock.bak
finish
else: # virtualenv doesn't exist
pipenv sync
if sync is successful:
save a copy of project Git Pipfile.lock as Pipfile.lock.bak
finish
- 注意:此方法不处理任何virtualenv损坏问题