@ -139,7 +139,7 @@ def platformProgramAdd():
# multipleProgramToOneProject()
def get_the_last_windowsAppZIP ( name ) :
def get_the_last_windowsApp_GITversion ( name ) :
bodyjson = {
' name ' : name
}
@ -155,19 +155,18 @@ def get_the_last_windowsAppZIP(name):
print ( f " name: { obj . get ( ' name ' ) } " )
print ( f " packageName: { obj . get ( ' packageName ' ) } " )
print ( f " packageUrl: { obj . get ( ' packageUrl ' ) } " )
packageUrl = obj . get ( ' packageUrl ' )
print ( f " version: { obj . get ( ' version ' ) } " )
the_last_windowsAppZIP_GITversion = obj . get ( ' version ' )
break # 找到第一个满足条件的对象后停止遍历
# 忽略未经核实的SSL证书认证,linux下wget可能会有ssl问题
context = ssl . _create_unverified_context ( )
ssl . _create_default_https_context = ssl . _create_unverified_context
print ( ' 正在下载上一个版本的zip文件: ' )
download ( cdn_url + packageUrl )
print ( cdn_url + packageUrl )
the_last_windowsAppZIP = os . getcwd ( ) + ' / ' + packageUrl . split ( " / " ) [ - 1 ]
return the_last_windowsAppZIP
print ( ' 正在git获取上一个版本的代码: ' )
os . system ( ' mkdir -p /tmp/theLastCode/ ' )
os . system ( ' git clone ' + os . getenv ( ' DRONE_GIT_HTTP_URL ' ) + ' /tmp/theLastCode/IOTContainer/ ' )
os . system ( ' cd /tmp/theLastCode/ && git checkout ' + the_last_windowsAppZIP_GITversion )
return the_last_windowsAppZIP_GITversion
else :
return None
def build_for_windowsApp ( ) :
print ( " 开始打包exe流程 " )
@ -194,17 +193,20 @@ def count_files_in_directory(directory):
# return md5.hexdigest()
def build_the_current_windowsApp ( name ) :
the_last_windowsApp_GITversion = get_the_last_windowsApp_GITversion ( name )
the_current_windowsAppZIP = " /drone/src/IOTContainer/ " + os . getenv ( ' DRONE_REPO_NAME ' ) + ' . ' + os . getenv ( ' version ' ) + ' .zip '
the_last_windowsAppZIP = get_the_last_windowsAppZIP ( name )
# the_last_windowsAppZIP = get_the_last_windowsAppZIP(name)
os . system ( ' mkdir -p /tmp/a/ /tmp/b/ /tmp/IOTContainer/ ' )
os . system ( ' unzip -q ' + the_last_windowsAppZIP + ' -d /tmp/a/ ' )
os . system ( ' unzip -q ' + the_current_windowsAppZIP + ' -d /tmp/b/ ' )
os . system ( ' /bin/sh -c /drone/src/zip_diff.sh ' )
# os.system('mkdir -p /tmp/a/ /tmp/b/ /tmp/IOTContainer/' )
# os.system('unzip -q ' + the_last_windowsAppZIP + ' -d /tmp/a/' )
# os.system('unzip -q ' + the_current_windowsAppZIP + ' -d /tmp/b/' )
# os.system('/bin/sh -c /drone/src/zip_diff.sh' )
file_count = count_files_in_directory ( ' /tmp/IOTContainer/ ' )
if the_last_windowsAppZIP == None :
if the_last_windowsApp_GITversion == None :
print ( " 初次上传,不比对zip,直接打包上传 " )
platformAppAdd ( the_current_windowsAppZIP , ' .zip ' )
build_for_windowsApp ( )
@ -212,6 +214,8 @@ def build_the_current_windowsApp(name):
else :
print ( " 比对新老版本zip文件 " )
the_current_windowsAppZIP_dir = ' /drone/src/IOTContainer '
the_last_windowsAppZIP_dir = ' /tmp/theLastCode/IOTContainer '
if file_count == 1 :
print ( " \033 [34m比对结果: 程序版本无更新,流程终止 \033 [0m " )
else :