Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何知道virtualenv是否需要同步,以避免为部署在Jenkins上的每个作业运行pipenv sync_Python_Jenkins_Virtualenv_Pipenv_Pipfile - Fatal编程技术网

Python 如何知道virtualenv是否需要同步,以避免为部署在Jenkins上的每个作业运行pipenv sync

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

我在Jenkins的从机上运行Python3.7,该从机位于项目git中的Pipfile.lock创建

对于我在从属服务器上部署的每个作业,我需要知道virtualenv是最新的还是需要pipenv同步

目前,pipenv没有提供一种方法来检查现有virtualenv是否与它相关的Pipfile.lock匹配

我目前正在使用下面的脚本来检查上述内容,但我想知道是否有更好的\更简单\正式的方法来做到这一点

我的方法:

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损坏问题