自动上传azkaban zip包的脚本

自动上传azkaban zip包的脚本,第1张

自动上传azkaban zip包的脚本

为了避免每次手动上传azkaban zip包带来的麻烦,我自己写了一个自动上传azkaban zip包的脚本,首先需要在自己服务器上面创建一个版本version文件夹,azkaban zip包每次自动上传都会生成一个版本,放在该文件夹下面(这是我版本文件夹路径:/data/zsins/Package/version/)

#-*- encoding:utf-8 -*-

import requests
import os
import time
import sys
import commands


def getdatime():
    return time.strftime("%Y%m%d%H%M%S", time.localtime())



str_url = 'http://10.16.55.1:8081'
requests.packages.urllib3.disable_warnings()


def login(username, password):
    postdata = {'username':username,'password':password}
    login_url = str_url + '?action=login'
    r = requests.post(login_url, postdata, verify=False).json()
    return r



def uploadzip(sessionid, projectname, filepath):
    filename = os.path.basename(os.path.realpath(filepath))
    files = {'file':(filename, open(filepath,'rb'), 'application/zip')}
    postdata = {'session.id':sessionid, 'project':projectname, 'file':files, 'ajax':'upload'}
    upload_url = str_url + '/manager?ajax=upload'
    r = requests.post(upload_url, postdata, files=files, verify=False).json()
    #print(postdata)
    print(r)
   # if r.find('error'):
    #   print(r)
    return r


def zip(pname):
    datatime=getdatime()
    zipname="%s-%s.zip" % (pname,datatime)
    exestr = """zip -r /data/zsins/Package/version/%s  /data/zsins/ZsinsJob/ """ % zipname
    print(exestr)
    status,res=commands.getstatusoutput(exestr)
    return zipname



if __name__ == "__main__":

    if len(sys.argv) != 2:
        print("Pls check args.")
    else:
        uname = "azkaban"
        pwd = "azkaban"
        projectName = sys.argv[1]
        getsessionid = login(uname,pwd)
        zname=zip(projectName)
        fpath = "/data/zsins/Package/version/%s"  % zname
        uploadzip(getsessionid['session.id'],projectName,fpath)

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5610267.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-15
下一篇2022-12-15

发表评论

登录后才能评论

评论列表(0条)

    保存