def scriptCheck(filename):
    curDir = os.path.abspath(os.path.dirname(__file__))
    getUpdateDirShell = remoteShellDir + "/" + filename
    remoteMd5 = run("if [ -f %s ];then md5sum %s|awk '{print $1}';fi"%(getUpdateDirShell,getUpdateDirShell))
    localMd5 = common.calMd5(curDir + "/" + filename)
    if remoteMd5 != localMd5:
        put(curDir + "/" + filename,"%s/"%remoteShellDir)
Beispiel #2
0
def start():
    run("mkdir -p %s "%remoteShellDir)
    global remoteTempDir
    remoteTempDir = "/app/opbak/mobileWwwTestUpdate/%s/%s/%s" %(game, language, version)
    with lcd("/app/online/%s/frontend/%s/%s"%(game, language, version)):
        local("dos2unix md5.txt")
        local("chown virtual_user.virtual_user md5.txt")
        local("md5sum -c md5.txt")
        run("rm -rf %s && mkdir -p %s"%(remoteTempDir, remoteTempDir))
        with cd(remoteTempDir):
            zipExsits = run("if [ -f %s.zip ];then echo 1;else echo 0;fi"%version)
            if zipExsits == "1":
                localZipMd5 = common.calMd5("/app/online/%s/frontend/%s/%s/%s.zip"%(game, language, version, version))
                remoteZipMd5 = run("md5sum %s.zip|cut -d ' ' -f1"%version)
                if localZipMd5.strip() != remoteZipMd5.strip():
                    print "开始上传zip包 ..."
                    put(version + ".zip", remoteTempDir)
            else:
                put(version + ".zip", remoteTempDir)
            put("md5.txt", remoteTempDir)
            run("dos2unix md5.txt")
            run("md5sum -c md5.txt")
            run("unzip -o -q %s.zip"%version )
    versionCheck()
    backupRes()
    with cd(remoteTempDir):
        run("cp -r %s %s/"%(version, wwwDir))
    if zipDiff:
        calZipFile()
    with cd(remoteTempDir):
        for each_type in updateTypes:
            run("cp -rf {0} {1}/".format(each_type, wwwDir))

    local("rm -rf /app/online/%s/frontend/%s/%s"%(game,language,version))
Beispiel #3
0
def scriptDeploy(sshObj, ip, server):
    '''
    更新脚本的md5比对,如果跟本地的不一致则重新上传
    判断更新操作目录是否存在,如果存在则不再进行更新
    '''
    localmd5 = common.calMd5(updateScriptPath + "/" + updateScript)
    status, out, err = sshObj.cmd("if [ ! -d %s ];then mkdir -p %s;fi" %
                                  (remoteLogDir, remoteLogDir))
    if status != 0:
        state.errorResult[server] = "创建工作目录失败" + err
    else:
        status, remotemd5, stderr = sshObj.cmd(
            "if [ -f %s/%s ];then md5sum %s/%s ;fi" %
            (remoteShellPath, updateScript, remoteShellPath, updateScript))
        if status != 0:
            state.errorResult[server] = stderr
        else:
            if localmd5.strip() != remotemd5.strip():
                try:
                    sshObj.put(updateScriptPath + "/" + updateScript,
                               remote_path=remoteShellPath)
                except Exception, e:
                    state.errorResult[server] = str(e)
        status, out, err = sshObj.cmd(
            "if [ -d /app/opbin/update/%s/%s ];then echo 1;else echo 0;fi" %
            (state.options.game, remoteWorkDir))
        if status != 0 or out == 1:
            state.errorResult[server] = "/app/opbin/update/%s/%s目录已经存在" % (
                state.options.game, remoteWorkDir)
Beispiel #4
0
def scriptCheck(filename):
    curDir = os.path.abspath(os.path.dirname(__file__))
    getUpdateDirShell = remoteShellDir + "/" + filename
    remoteMd5 = run("if [ -f %s ];then md5sum %s|awk '{print $1}';fi"%(getUpdateDirShell, getUpdateDirShell))
    localMd5 = common.calMd5(curDir + "/" + filename)
    if remoteMd5 != localMd5:
        put(curDir + "/" + filename, "%s/"%remoteShellDir)
Beispiel #5
0
def filecheck(ip):
    dir = os.path.dirname(os.path.abspath(__file__))
    sshObj = getssh(ip)
    r1 = sshObj.cmd("test -f /app/opbin/allinone/serverlistOnServer.py && md5sum /app/opbin/allinone/serverlistOnServer.py|cut -d ' ' -f1")
    #print r1[1].strip(),common.calMd5(dir+"/serverlistOnServer.py")
    if r1[0] != 0 or r1[1].strip() != common.calMd5(dir+"/serverlistOnServer.py"):
        sshObj.cmd("[ ! -d /app/opbin/allinone/ ] && mkdir -p /app/opbin/allinone/")
        sshObj.put(dir + "/serverlistOnServer.py",remote_path="/app/opbin/allinone/",recursive=True)
Beispiel #6
0
def resCopyToOnline():
    #获取在线资源目录中,需要将差异文件放入其中的目录
    localDir = os.path.abspath(os.path.dirname(__file__))
    scriptMd5 = cmd(
        "if [ -f /app/opbin/workspace/get_update_dir.py ];then md5sum /app/opbin/workspace/get_update_dir.py |awk '{print $1}';fi"
    )
    localScriptMd5 = common.calMd5(localDir + "/get_update_dir.py")
    if scriptMd5 != localScriptMd5:
        sshobj.put(localDir + "/get_update_dir.py",
                   remote_path="/app/opbin/workspace/")
    oldDirs = json.loads(
        cmd("python /app/opbin/workspace/get_update_dir.py '%s' '%s' '%s'" %
            (onlineDir, startVersion, version)))
    if not oldDirs["result"]:
        raise Exception(oldDirs["msg"])
    oldDirsList = oldDirs["dir"]
    #将测试环境中最新的版本资源目录复制到线上环境
    cmd("cp -r %s/%s %s/" % (onlineTestDir, version, onlineDir))
    #复制最新版本到各版本的差异包到线上
    if zipMode:
        for dir in oldDirsList:
            if dir == version:
                print "%s 版本跟需要更新的版本一致,不需要差异包" % dir
                continue
            print "开始处理%s的差异包..." % dir
            if hd:
                for t in ["res", "hd_res"]:
                    dirCheck = cmd(
                        "if [ -d %s/%s/%s ];then echo 1;else echo 0;fi" %
                        (onlineDir, dir, t))
                    if dirCheck == "1":
                        cmd("cp %s/%s/%s/%s.zip %s/%s/%s/" %
                            (onlineTestDir, dir, t, version, onlineDir, dir,
                             t))
                        cmd("cp %s/%s/%s/%s.lua %s/%s/%s/" %
                            (onlineTestDir, dir, t, version, onlineDir, dir,
                             t))
                        cmd("if [ -f %s/%s/%s/index.lua ];then cp %s/%s/%s/index.lua %s/%s/%s/"
                            % (onlineTestDir, dir, t, onlineTestDir, dir, t,
                               onlineDir, dir, t))
                    else:
                        print "%s/%s/%s 不存在" % (onlineDir, dir, t)
            else:
                cmd("cp -r %s/%s/%s.zip %s/%s/" %
                    (onlineTestDir, dir, version, onlineDir, dir))
                cmd("cp -r %s/%s/%s.lua %s/%s/" %
                    (onlineTestDir, dir, version, onlineDir, dir))
                cmd("if [ -f %s/%s/index.lua ];then cp %s/%s/index.lua %s/%s/;fi"
                    % (onlineTestDir, dir, onlineTestDir, dir, onlineDir, dir))
    #将version.lua文件更新到线上
    if updateType in ["appstore", "all"]:
        cmd("cp %s/appstore/version.lua %s/appstore/" %
            (onlineTestDir, onlineDir))
    if updateType in ["jailbreak", "all"]:
        cmd("cp %s/jailbreak/version.lua %s/jailbreak/" %
            (onlineTestDir, onlineDir))
Beispiel #7
0
def resCopyToOnline():    
    #获取在线资源目录中,需要将差异文件放入其中的目录
    localDir = os.path.abspath(os.path.dirname(__file__))
    scriptMd5 = cmd("if [ -f /app/opbin/workspace/get_update_dir.py ];then md5sum /app/opbin/workspace/get_update_dir.py |awk '{print $1}';fi")
    localScriptMd5 = common.calMd5(localDir + "/get_update_dir.py")
    if scriptMd5 != localScriptMd5:
        sshobj.put(localDir + "/get_update_dir.py",remote_path="/app/opbin/workspace/")
    oldDirs = json.loads(cmd("python /app/opbin/workspace/get_update_dir.py '%s' '%s' '%s' '%s' '%s'"%(onlineDir,startVersion,version,updateType,hd)))
    if not oldDirs["result"]:
        raise Exception(oldDirs["msg"])
    oldDirsList = oldDirs["dir"]
    #如果为appstore64,首先检查目标版本中是否存在main.lua
    if updateType == "appstore64":
        if not hd:
            cmd("test -f  %s/%s/main.lua"%(onlineTestDir,version))
        else:
            cmd("if [ -d %s/%s/res ];then test -f %s/%s/res/main.lua;fi"%(onlineTestDir,version,onlineTestDir,version))
            cmd("if [ -d %s/%s/hd_res ];then test -f %s/%s/hd_res/main.lua;fi"%(onlineTestDir,version,onlineTestDir,version))
    #将测试环境中最新的版本资源目录复制到线上环境
    cmd("cp -r %s/%s %s/"%(onlineTestDir,version,onlineDir))
    #复制最新版本到各版本的差异包到线上
    if zipMode:
        for dir in oldDirsList:
            if dir == version:
                print "%s 版本跟需要更新的版本一致,不需要差异包"%dir
                sys.stdout.flush()
                continue
            print "开始处理%s的差异包..."%dir
            sys.stdout.flush()
            if hd:
                for t in ["res","hd_res"]:
                    dirCheck = cmd("if [ -d %s/%s/%s ];then echo 1;else echo 0;fi"%(onlineDir,dir,t))
                    if dirCheck.strip() == "1":
                        cmd("cp %s/%s/%s/%s.zip %s/%s/%s/"%(onlineTestDir,dir,t,version,onlineDir,dir,t))
                        cmd("cp %s/%s/%s/%s.lua %s/%s/%s/"%(onlineTestDir,dir,t,version,onlineDir,dir,t))
                        cmd("if [ -f %s/%s/%s/index.lua ];then cp %s/%s/%s/index.lua %s/%s/%s/;fi"%(onlineTestDir,dir,t,onlineTestDir,dir,t,onlineDir,dir,t))
                    else:
                        print "%s/%s/%s 不存在"%(onlineDir,dir,t)
                        sys.stdout.flush()
            else:
                cmd("cp -r %s/%s/%s.zip %s/%s/"%(onlineTestDir,dir,version,onlineDir,dir))
                cmd("cp -r %s/%s/%s.lua %s/%s/"%(onlineTestDir,dir,version,onlineDir,dir))
                cmd("if [ -f %s/%s/index.lua ];then cp %s/%s/index.lua %s/%s/;fi"%(onlineTestDir,dir,onlineTestDir,dir,onlineDir,dir))
    #将version.lua文件更新到线上
    if updateType in ["appstore64"]:
        cmd("cp %s/appstore64/version.lua %s/appstore64/"%(onlineTestDir,onlineDir))
        #手游debug模式开关,线上一定置为0
        cmd("grep 'sys_version.debug' %s/appstore64/version.lua;if [ $? -eq 0 ];then sed -i '/sys_version.debug/s/1/0/g' %s/appstore64/version.lua;fi"%(onlineDir,onlineDir))
    if updateType in ["appstore","all"]:
        cmd("cp %s/appstore/version.lua %s/appstore/"%(onlineTestDir,onlineDir))
        #手游debug模式开关,线上一定置为0
        cmd("grep 'sys_version.debug' %s/appstore/version.lua;if [ $? -eq 0 ];then sed -i '/sys_version.debug/s/1/0/g' %s/appstore/version.lua;fi"%(onlineDir,onlineDir))
    if updateType in ["jailbreak","all"]:
        cmd("cp %s/jailbreak/version.lua %s/jailbreak/"%(onlineTestDir,onlineDir))
        cmd("grep 'sys_version.debug' %s/jailbreak/version.lua;if [ $? -eq 0 ];then sed -i '/sys_version.debug/s/1/0/g' %s/jailbreak/version.lua;fi"%(onlineDir,onlineDir))
        cmd("if [ -f %s/version.lua ];then cp %s/jailbreak/version.lua %s/version.lua;fi"%(onlineDir,onlineDir,onlineDir))
Beispiel #8
0
def start():
    run("mkdir -p %s " % remoteShellDir)
    global remoteTempDir
    remoteTempDir = "/app/opbak/mobileWwwTestUpdate/%s/%s" % (game, version)
    with lcd("/app/online/%s/frontend/%s/%s" % (game, language, version)):
        local("dos2unix md5.txt")
        local("chown virtual_user.virtual_user md5.txt")
        local("md5sum -c md5.txt")
        run("rm -rf %s && mkdir -p %s" % (remoteTempDir, remoteTempDir))
        with cd(remoteTempDir):
            zipExsits = run("if [ -f %s.zip ];then echo 1;else echo 0;fi" %
                            version)
            if zipExsits == "1":
                localZipMd5 = common.calMd5(
                    "/app/online/%s/frontend/%s/%s/%s.zip" %
                    (game, language, version, version))
                remoteZipMd5 = run("md5sum %s.zip|cut -d ' ' -f1" % version)
                if localZipMd5.strip() != remoteZipMd5.strip():
                    put(version + ".zip", remoteTempDir)
            else:
                put(version + ".zip", remoteTempDir)
            #put(version + ".zip",remoteTempDir)
            put("md5.txt", remoteTempDir)
            run("dos2unix md5.txt")
            run("md5sum -c md5.txt")
            run("unzip -o -q %s.zip" % version)
            #appstore64 必须包含main.lua,否则为appstore32或者越狱
            if updateType in ["appstore64"]:
                if not hd:
                    run("test -f %s/main.lua" % version)
                else:
                    run("if [ -d %s/res ];then test -f %s/res/main.lua;fi" %
                        version)
                    run("if [ -d %s/hd_res ];then test -f %s/hd_res/main.lua;fi"
                        % version)

    versionCheck()
    backupRes()
    with cd(remoteTempDir):
        run("cp -r %s %s/" % (version, wwwDir))
    if zipDiff:
        calZipFile()
    with cd(remoteTempDir):
        #run("cp -r %s %s/"%(version,wwwDir))
        if updateType in ["appstore64"]:
            run("cp -r appstore64/version.lua %s/appstore64/" % wwwDir)
        if updateType in ["appstore", "all"]:
            run("cp -r appstore/version.lua %s/appstore/" % wwwDir)
        if updateType in ["jailbreak", "all"]:
            run("cp -r jailbreak/version.lua %s/jailbreak/" % wwwDir)
            run("if [ -f %s/version.lua ];then cp jailbreak/version.lua %s/version.lua;fi"
                % (wwwDir, wwwDir))
    local("rm -rf /app/online/%s/frontend/%s/%s" % (game, language, version))
def start():
    run("mkdir -p %s "%remoteShellDir)
    global remoteTempDir
    remoteTempDir = "/app/opbak/mobileWwwTestUpdate/%s/%s" %(game, version)
    with lcd("/app/online/%s/frontend/%s/%s"%(game,language,version)):
        local("dos2unix md5.txt")
        local("chown virtual_user.virtual_user md5.txt")
        local("md5sum -c md5.txt")
        run("rm -rf %s && mkdir -p %s"%(remoteTempDir,remoteTempDir))
        with cd(remoteTempDir):
            zipExsits = run("if [ -f %s.zip ];then echo 1;else echo 0;fi"%version)
            if zipExsits == "1":
                localZipMd5 = common.calMd5("/app/online/%s/frontend/%s/%s/%s.zip"%(game,language,version,version))
                remoteZipMd5 = run("md5sum %s.zip|cut -d ' ' -f1"%version)
                if localZipMd5.strip() != remoteZipMd5.strip():
                    put(version + ".zip",remoteTempDir)
            else:
                put(version + ".zip",remoteTempDir)
            #put(version + ".zip",remoteTempDir)
            put("md5.txt",remoteTempDir)
            run("dos2unix md5.txt")
            run("md5sum -c md5.txt")
            run("unzip -o -q %s.zip"%version )
            #appstore64 必须包含main.lua,否则为appstore32或者越狱
            if updateType in ["appstore64"]:
                run("test -f %s/main.lua"%version)
            #if hd:
            #    res_64_dir = run("if [ -d %s/res_64 ];then echo 1 ;else echo 0 ;fi"%version)
            #    hd_res_64_dir = run("if [ -d %s/hd_res_64 ];then echo 1 ;else echo 0;fi"%version)
            #    if res_64_dir.strip() != "1" and hd_res_64_dir.strip() != "1":
            #        print "%s该目录不存在64的资源目录"%version
            #        sys.exit(1)
    versionCheck()
    backupRes()
    with cd(remoteTempDir):
        run("cp -r %s %s/"%(version,wwwDir))
    if zipDiff:
        calZipFile()
    with cd(remoteTempDir):
        #run("cp -r %s %s/"%(version,wwwDir))
        if updateType in ["appstore64"]:
            run("cp -r appstore64/version.lua %s/appstore64/"%wwwDir)
        if updateType in ["appstore","all"]:
            run("cp -r appstore/version.lua %s/appstore/"%wwwDir)
        if updateType in ["jailbreak","all"]:
            run("cp -r jailbreak/version.lua %s/jailbreak/"%wwwDir)
            run("if [ -f %s/version.lua ];then cp jailbreak/version.lua %s/version.lua;fi"%(wwwDir,wwwDir))
    local("rm -rf /app/online/%s/frontend/%s/%s"%(game,language,version))
Beispiel #10
0
def scriptDeploy(sshObj,ip,server):
    '''
    更新脚本的md5比对,如果跟本地的不一致则重新上传
    判断更新操作目录是否存在,如果存在则不再进行更新
    '''
    localmd5 = common.calMd5(updateScriptPath + "/" + updateScript)
    status,out,err = sshObj.cmd("if [ ! -d %s ];then mkdir -p %s;fi"%(remoteLogDir,remoteLogDir))
    if status != 0:
        state.errorResult[server] = "创建工作目录失败" + err
    else:
        status,remotemd5,stderr = sshObj.cmd("if [ -f %s/%s ];then md5sum %s/%s ;fi"%(remoteShellPath,updateScript,remoteShellPath,updateScript))
        if status != 0:
            state.errorResult[server] = stderr
        else:
            if localmd5.strip() != remotemd5.strip():
                try:
                    sshObj.put(updateScriptPath + "/" + updateScript,remote_path=remoteShellPath)
                except Exception,e:
                    state.errorResult[server] = str(e)
        status,out,err = sshObj.cmd("if [ -d /app/opbin/update/%s/%s ];then echo 1;else echo 0;fi"%(state.options.game,remoteWorkDir))
        if status != 0 or out == 1:
            state.errorResult[server] = "/app/opbin/update/%s/%s目录已经存在"%(state.options.game,remoteWorkDir)
Beispiel #11
0
def resCopyToOnline():    
    #获取在线资源目录中,需要将差异文件放入其中的目录
    localDir = os.path.abspath(os.path.dirname(__file__))
    scriptMd5 = cmd("if [ -f /app/opbin/workspace/get_update_dir.py ];then md5sum /app/opbin/workspace/get_update_dir.py |awk '{print $1}';fi")
    localScriptMd5 = common.calMd5(localDir + "/get_update_dir.py")
    if scriptMd5 != localScriptMd5:
        sshobj.put(localDir + "/get_update_dir.py",remote_path="/app/opbin/workspace/")
    oldDirs = json.loads(cmd("python /app/opbin/workspace/get_update_dir.py '%s' '%s' '%s'"%(onlineDir,startVersion,version)))
    if not oldDirs["result"]:
        raise Exception(oldDirs["msg"])
    oldDirsList = oldDirs["dir"]
    #将测试环境中最新的版本资源目录复制到线上环境
    cmd("cp -r %s/%s %s/"%(onlineTestDir,version,onlineDir))
    #复制最新版本到各版本的差异包到线上
    if zipMode:
        for dir in oldDirsList:
            if dir == version:
                print "%s 版本跟需要更新的版本一致,不需要差异包"%dir
                continue
            print "开始处理%s的差异包..."%dir
            if hd:
                for t in ["res","hd_res"]:
                    dirCheck = cmd("if [ -d %s/%s/%s ];then echo 1;else echo 0;fi"%(onlineDir,dir,t))
                    if dirCheck == "1":
                        cmd("cp %s/%s/%s/%s.zip %s/%s/%s/"%(onlineTestDir,dir,t,version,onlineDir,dir,t))
                        cmd("cp %s/%s/%s/%s.lua %s/%s/%s/"%(onlineTestDir,dir,t,version,onlineDir,dir,t))
                        cmd("if [ -f %s/%s/%s/index.lua ];then cp %s/%s/%s/index.lua %s/%s/%s/"%(onlineTestDir,dir,t,onlineTestDir,dir,t,onlineDir,dir,t))
                    else:
                        print "%s/%s/%s 不存在"%(onlineDir,dir,t)
            else:
                cmd("cp -r %s/%s/%s.zip %s/%s/"%(onlineTestDir,dir,version,onlineDir,dir))
                cmd("cp -r %s/%s/%s.lua %s/%s/"%(onlineTestDir,dir,version,onlineDir,dir))
                cmd("if [ -f %s/%s/index.lua ];then cp %s/%s/index.lua %s/%s/;fi"%(onlineTestDir,dir,onlineTestDir,dir,onlineDir,dir))
    #将version.lua文件更新到线上
    if updateType in ["appstore","all"]:
        cmd("cp %s/appstore/version.lua %s/appstore/"%(onlineTestDir,onlineDir))
    if updateType in ["jailbreak","all"]:
        cmd("cp %s/jailbreak/version.lua %s/jailbreak/"%(onlineTestDir,onlineDir))
Beispiel #12
0
def resCopyToOnline():    
    #获取在线资源目录中,需要将差异文件放入其中的目录
    localDir = os.path.abspath(os.path.dirname(__file__))
    scriptMd5 = cmd("if [ -f /app/opbin/workspace/get_update_dir.py ];then md5sum /app/opbin/workspace/get_update_dir.py |awk '{print $1}';fi")
    localScriptMd5 = common.calMd5(localDir + "/get_update_dir.py")
    if scriptMd5 != localScriptMd5:
        sshobj.put(localDir + "/get_update_dir.py",remote_path="/app/opbin/workspace/")
    #将测试环境中最新的版本资源目录复制到线上环境
    if keepBinaryFile:
        cmd("cp -r %s/%s %s/"%(onlineTestDir,version,onlineDir))
    #复制最新版本到各版本的差异包到线上
    if zipMode:
        set_update_type = 'appstore' #已无实际意义,加上只是为了保持兼容性
        oldDirs = json.loads(cmd("python /app/opbin/workspace/get_update_dir.py '%s' '%s' '%s' '%s' '%s'"%(onlineDir,startVersion,version,set_update_type,hd)))
        if not oldDirs["result"]:
            raise Exception(oldDirs["msg"])
        oldDirsList = oldDirs["dir"]
        for res_type in ["res","res_30lv"]:
            for dir in oldDirsList:
                if dir == version and res_type == "res":
                    print "%s 版本跟需要更新的版本一致,不需要差异包"%dir
                    sys.stdout.flush()
                    continue
                if res_type == "res":
                    zipname = version.strip()
                elif res_type == "res_30lv":
                    zipname = version.strip() + "_30lv"
                else:
                    print "res_type:%s not sruport!"%res_type
                    sys.exit(1)
                print "开始处理%s的差异包%s..."%(dir,zipname)
                sys.stdout.flush()
                if hd:
                    for t in ["res","hd_res","res_64","hd_res_64"]:
                        dirCheck = cmd("if [ -d %s/%s/%s ];then echo 1;else echo 0;fi"%(onlineDir,dir,t))
                        if dirCheck.strip() == "1":
                            if res_type == "res":
                                cmd("cp %s/%s/%s/%s.zip %s/%s/%s/"%(onlineTestDir,dir,t,zipname,onlineDir,dir,t))
                                cmd("cp %s/%s/%s/%s.lua %s/%s/%s/"%(onlineTestDir,dir,t,zipname,onlineDir,dir,t))
                                cmd("if [ -f %s/%s/%s/index.lua ];then cp %s/%s/%s/index.lua %s/%s/%s/;fi"%(onlineTestDir,dir,t,onlineTestDir,dir,t,onlineDir,dir,t))
                                #复制不带.zip包名的zip包
                                cmd("if [ -f %s/%s/%s/%s ];then cp %s/%s/%s/%s %s/%s/%s/;fi"%(onlineTestDir,dir,t,zipname, onlineTestDir,dir,t,zipname, onlineDir,dir,t))
                            elif res_type.strip() == "res_30lv":
                                res_30lv_check = cmd("if [ -f %s/%s/%s/res_30lv.lua ];then echo 1;else echo 0;fi"%(onlineDir,dir,t))
                                if res_30lv_check.strip() == "1":
                                    cmd("cp %s/%s/%s/%s.zip %s/%s/%s/"%(onlineTestDir,dir,t,zipname,onlineDir,dir,t))
                                    cmd("cp %s/%s/%s/%s.lua %s/%s/%s/"%(onlineTestDir,dir,t,zipname,onlineDir,dir,t))
                                    #复制不带.zip包名的zip包
                                    cmd("if [ -f %s/%s/%s/%s ];then cp %s/%s/%s/%s %s/%s/%s/;fi"%(onlineTestDir,dir,t,zipname, onlineTestDir,dir,t,zipname, onlineDir,dir,t))
                        else:
                            print "%s/%s/%s 不存在"%(onlineDir,dir,t)
                            sys.stdout.flush()
                else:
                    if res_type == "res":
                        cmd("cp -r %s/%s/%s.zip %s/%s/"%(onlineTestDir,dir,zipname,onlineDir,dir))
                        cmd("cp -r %s/%s/%s.lua %s/%s/"%(onlineTestDir,dir,zipname,onlineDir,dir))
                        cmd("if [ -f %s/%s/index.lua ];then cp %s/%s/index.lua %s/%s/;fi"%(onlineTestDir,dir,onlineTestDir,dir,onlineDir,dir))
                        #复制不带.zip包名的zip包
                        cmd("if [ -f %s/%s/%s ];then cp %s/%s/%s %s/%s/;fi"%(onlineTestDir,dir,zipname, onlineTestDir,dir,zipname, onlineDir,dir))
                    elif res_type == "res_30lv":
                        res_30lv_check = cmd("if [ -f %s/%s/res_30lv.lua ];then echo 1;else echo 0;fi"%(onlineDir,dir))
                        if res_30lv_check.strip() == "1":
                            cmd("cp -r %s/%s/%s.zip %s/%s/"%(onlineTestDir,dir,zipname,onlineDir,dir))
                            cmd("cp -r %s/%s/%s.lua %s/%s/"%(onlineTestDir,dir,zipname,onlineDir,dir))
                            #复制不带.zip包名的zip包
                            cmd("if [ -f %s/%s/%s ];then cp %s/%s/%s %s/%s/;fi"%(onlineTestDir,dir,zipname, onlineTestDir,dir,zipname, onlineDir,dir))
    #判断是否等待资源同步完毕再更新version.lua
    if waitRsync:
        resRsyncResult()
    print "开始更新version.lua文件..."
    for each_update_type in updateTypes:
        print("cp -rf %s/%s %s/"%(onlineTestDir,each_update_type,onlineDir))
        cmd("cp -rf %s/%s %s/"%(onlineTestDir,each_update_type,onlineDir))
        #手游debug模式开关,线上一定置为0
        cmd("grep 'sys_version.debug' %s/%s/version.lua;if [ $? -eq 0 ];then sed -i '/sys_version.debug/s/1/0/g' %s/%s/version.lua;fi"%(onlineDir,each_update_type,onlineDir,each_update_type))

    cmd("if [ -f %s/version.lua ];then cp %s/jailbreak/version.lua %s/version.lua;fi"%(onlineDir,onlineDir,onlineDir))
Beispiel #13
0
def resCopyToOnline():
    #获取在线资源目录中,需要将差异文件放入其中的目录
    localDir = os.path.abspath(os.path.dirname(__file__))
    scriptMd5 = cmd(
        "if [ -f /app/opbin/workspace/get_update_dir.py ];then md5sum /app/opbin/workspace/get_update_dir.py |awk '{print $1}';fi"
    )
    localScriptMd5 = common.calMd5(localDir + "/get_update_dir.py")
    if scriptMd5 != localScriptMd5:
        sshobj.put(localDir + "/get_update_dir.py",
                   remote_path="/app/opbin/workspace/")
    oldDirs = json.loads(
        cmd("python /app/opbin/workspace/get_update_dir.py '%s' '%s' '%s' '%s' '%s'"
            % (onlineDir, startVersion, version, updateType, hd)))
    if not oldDirs["result"]:
        raise Exception(oldDirs["msg"])
    oldDirsList = oldDirs["dir"]
    #如果为appstore64,首先检查目标版本中是否存在main.lua
    if updateType == "appstore64":
        if not hd:
            cmd("test -f  %s/%s/main.lua" % (onlineTestDir, version))
        else:
            cmd("if [ -d %s/%s/res ];then test -f %s/%s/res/main.lua;fi" %
                (onlineTestDir, version, onlineTestDir, version))
            cmd("if [ -d %s/%s/hd_res ];then test -f %s/%s/hd_res/main.lua;fi"
                % (onlineTestDir, version, onlineTestDir, version))
    #将测试环境中最新的版本资源目录复制到线上环境
    cmd("cp -r %s/%s %s/" % (onlineTestDir, version, onlineDir))
    #复制最新版本到各版本的差异包到线上
    if zipMode:
        for dir in oldDirsList:
            if dir == version:
                print "%s 版本跟需要更新的版本一致,不需要差异包" % dir
                sys.stdout.flush()
                continue
            print "开始处理%s的差异包..." % dir
            sys.stdout.flush()
            if hd:
                for t in ["res", "hd_res"]:
                    dirCheck = cmd(
                        "if [ -d %s/%s/%s ];then echo 1;else echo 0;fi" %
                        (onlineDir, dir, t))
                    if dirCheck.strip() == "1":
                        cmd("cp %s/%s/%s/%s.zip %s/%s/%s/" %
                            (onlineTestDir, dir, t, version, onlineDir, dir,
                             t))
                        cmd("cp %s/%s/%s/%s.lua %s/%s/%s/" %
                            (onlineTestDir, dir, t, version, onlineDir, dir,
                             t))
                        cmd("if [ -f %s/%s/%s/index.lua ];then cp %s/%s/%s/index.lua %s/%s/%s/;fi"
                            % (onlineTestDir, dir, t, onlineTestDir, dir, t,
                               onlineDir, dir, t))
                    else:
                        print "%s/%s/%s 不存在" % (onlineDir, dir, t)
                        sys.stdout.flush()
            else:
                cmd("cp -r %s/%s/%s.zip %s/%s/" %
                    (onlineTestDir, dir, version, onlineDir, dir))
                cmd("cp -r %s/%s/%s.lua %s/%s/" %
                    (onlineTestDir, dir, version, onlineDir, dir))
                cmd("if [ -f %s/%s/index.lua ];then cp %s/%s/index.lua %s/%s/;fi"
                    % (onlineTestDir, dir, onlineTestDir, dir, onlineDir, dir))
    #将version.lua文件更新到线上
    if updateType in ["appstore64"]:
        cmd("cp %s/appstore64/version.lua %s/appstore64/" %
            (onlineTestDir, onlineDir))
        #手游debug模式开关,线上一定置为0
        cmd("grep 'sys_version.debug' %s/appstore64/version.lua;if [ $? -eq 0 ];then sed -i '/sys_version.debug/s/1/0/g' %s/appstore64/version.lua;fi"
            % (onlineDir, onlineDir))
    if updateType in ["appstore", "all"]:
        cmd("cp %s/appstore/version.lua %s/appstore/" %
            (onlineTestDir, onlineDir))
        #手游debug模式开关,线上一定置为0
        cmd("grep 'sys_version.debug' %s/appstore/version.lua;if [ $? -eq 0 ];then sed -i '/sys_version.debug/s/1/0/g' %s/appstore/version.lua;fi"
            % (onlineDir, onlineDir))
    if updateType in ["jailbreak", "all"]:
        cmd("cp %s/jailbreak/version.lua %s/jailbreak/" %
            (onlineTestDir, onlineDir))
        cmd("grep 'sys_version.debug' %s/jailbreak/version.lua;if [ $? -eq 0 ];then sed -i '/sys_version.debug/s/1/0/g' %s/jailbreak/version.lua;fi"
            % (onlineDir, onlineDir))
        cmd("if [ -f %s/version.lua ];then cp %s/jailbreak/version.lua %s/version.lua;fi"
            % (onlineDir, onlineDir, onlineDir))
Beispiel #14
0
def resCopyToOnline():
    #获取在线资源目录中,需要将差异文件放入其中的目录
    localDir = os.path.abspath(os.path.dirname(__file__))
    scriptMd5 = cmd(
        "if [ -f /app/opbin/workspace/get_update_dir.py ];then md5sum /app/opbin/workspace/get_update_dir.py |awk '{print $1}';fi"
    )
    localScriptMd5 = common.calMd5(localDir + "/get_update_dir.py")
    if scriptMd5 != localScriptMd5:
        sshobj.put(localDir + "/get_update_dir.py",
                   remote_path="/app/opbin/workspace/")
    #将测试环境中最新的版本资源目录复制到线上环境
    if keepBinaryFile:
        cmd("cp -r %s/%s %s/" % (onlineTestDir, version, onlineDir))
    #复制最新版本到各版本的差异包到线上
    if zipMode:
        set_update_type = 'appstore'  #已无实际意义,加上只是为了保持兼容性
        oldDirs = json.loads(
            cmd("python /app/opbin/workspace/get_update_dir.py '%s' '%s' '%s' '%s' '%s'"
                % (onlineDir, startVersion, version, set_update_type, hd)))
        if not oldDirs["result"]:
            raise Exception(oldDirs["msg"])
        oldDirsList = oldDirs["dir"]
        for res_type in ["res", "res_30lv"]:
            for dir in oldDirsList:
                if dir == version and res_type == "res":
                    print "%s 版本跟需要更新的版本一致,不需要差异包" % dir
                    sys.stdout.flush()
                    continue
                if res_type == "res":
                    zipname = version.strip()
                elif res_type == "res_30lv":
                    zipname = version.strip() + "_30lv"
                else:
                    print "res_type:%s not sruport!" % res_type
                    sys.exit(1)
                print "开始处理%s的差异包%s..." % (dir, zipname)
                sys.stdout.flush()
                if hd:
                    for t in ["res", "hd_res", "res_64", "hd_res_64"]:
                        dirCheck = cmd(
                            "if [ -d %s/%s/%s ];then echo 1;else echo 0;fi" %
                            (onlineDir, dir, t))
                        if dirCheck.strip() == "1":
                            if res_type == "res":
                                cmd("cp %s/%s/%s/%s.zip %s/%s/%s/" %
                                    (onlineTestDir, dir, t, zipname, onlineDir,
                                     dir, t))
                                cmd("cp %s/%s/%s/%s.lua %s/%s/%s/" %
                                    (onlineTestDir, dir, t, zipname, onlineDir,
                                     dir, t))
                                cmd("if [ -f %s/%s/%s/index.lua ];then cp %s/%s/%s/index.lua %s/%s/%s/;fi"
                                    % (onlineTestDir, dir, t, onlineTestDir,
                                       dir, t, onlineDir, dir, t))
                                #复制不带.zip包名的zip包
                                cmd("if [ -f %s/%s/%s/%s ];then cp %s/%s/%s/%s %s/%s/%s/;fi"
                                    % (onlineTestDir, dir, t, zipname,
                                       onlineTestDir, dir, t, zipname,
                                       onlineDir, dir, t))
                            elif res_type.strip() == "res_30lv":
                                res_30lv_check = cmd(
                                    "if [ -f %s/%s/%s/res_30lv.lua ];then echo 1;else echo 0;fi"
                                    % (onlineDir, dir, t))
                                if res_30lv_check.strip() == "1":
                                    cmd("cp %s/%s/%s/%s.zip %s/%s/%s/" %
                                        (onlineTestDir, dir, t, zipname,
                                         onlineDir, dir, t))
                                    cmd("cp %s/%s/%s/%s.lua %s/%s/%s/" %
                                        (onlineTestDir, dir, t, zipname,
                                         onlineDir, dir, t))
                                    #复制不带.zip包名的zip包
                                    cmd("if [ -f %s/%s/%s/%s ];then cp %s/%s/%s/%s %s/%s/%s/;fi"
                                        % (onlineTestDir, dir, t, zipname,
                                           onlineTestDir, dir, t, zipname,
                                           onlineDir, dir, t))
                        else:
                            print "%s/%s/%s 不存在" % (onlineDir, dir, t)
                            sys.stdout.flush()
                else:
                    if res_type == "res":
                        cmd("cp -r %s/%s/%s.zip %s/%s/" %
                            (onlineTestDir, dir, zipname, onlineDir, dir))
                        cmd("cp -r %s/%s/%s.lua %s/%s/" %
                            (onlineTestDir, dir, zipname, onlineDir, dir))
                        cmd("if [ -f %s/%s/index.lua ];then cp %s/%s/index.lua %s/%s/;fi"
                            % (onlineTestDir, dir, onlineTestDir, dir,
                               onlineDir, dir))
                        #复制不带.zip包名的zip包
                        cmd("if [ -f %s/%s/%s ];then cp %s/%s/%s %s/%s/;fi" %
                            (onlineTestDir, dir, zipname, onlineTestDir, dir,
                             zipname, onlineDir, dir))
                    elif res_type == "res_30lv":
                        res_30lv_check = cmd(
                            "if [ -f %s/%s/res_30lv.lua ];then echo 1;else echo 0;fi"
                            % (onlineDir, dir))
                        if res_30lv_check.strip() == "1":
                            cmd("cp -r %s/%s/%s.zip %s/%s/" %
                                (onlineTestDir, dir, zipname, onlineDir, dir))
                            cmd("cp -r %s/%s/%s.lua %s/%s/" %
                                (onlineTestDir, dir, zipname, onlineDir, dir))
                            #复制不带.zip包名的zip包
                            cmd("if [ -f %s/%s/%s ];then cp %s/%s/%s %s/%s/;fi"
                                % (onlineTestDir, dir, zipname, onlineTestDir,
                                   dir, zipname, onlineDir, dir))
    #判断是否等待资源同步完毕再更新version.lua
    if waitRsync:
        resRsyncResult()
    print "开始更新version.lua文件..."
    for each_update_type in updateTypes:
        print("cp -rf %s/%s %s/" %
              (onlineTestDir, each_update_type, onlineDir))
        cmd("cp -rf %s/%s %s/" % (onlineTestDir, each_update_type, onlineDir))
        #手游debug模式开关,线上一定置为0
        cmd("grep 'sys_version.debug' %s/%s/version.lua;if [ $? -eq 0 ];then sed -i '/sys_version.debug/s/1/0/g' %s/%s/version.lua;fi"
            % (onlineDir, each_update_type, onlineDir, each_update_type))

    cmd("if [ -f %s/version.lua ];then cp %s/jailbreak/version.lua %s/version.lua;fi"
        % (onlineDir, onlineDir, onlineDir))