
为了避免每次手动上传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)
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)