# encoding: utf-8 import task import tools import sys import os from pathlib import Path class CIProcess(): def __init__(self, local_name, upload_path, upload_name_prex, build_version, build_number, p4path, notice_webhook, suffix): self.local_name = local_name self.upload_path = upload_path self.upload_name_prex = upload_name_prex self.build_version = build_version self.build_number = build_number self.p4path = p4path self.notice_webhook = notice_webhook self.suffix = suffix # 通知上传下载 def NoticeUpload(self, upload_name, p4number, p4author): upload_full_path = self.upload_path + "/" + upload_name job_name = os.getenv('JOB_NAME') content="{} 成功! p4:{} 提交者:@{} [点击下载安装包!]({})"\ .format(job_name, p4number, p4author, upload_full_path) tools.SendRobot(self.notice_webhook, content) print(upload_full_path) sys.stdout.flush() def Run(self): if False == Path(self.local_name).is_file(): print("self.local_name is not exist, %s" % self.local_name) return -1 now = tools.GetTime() p4_number, p4_author = tools.GetP4Info(self.p4path) upload_name = upload_name_prex + "_" + self.build_version + "_" + self.build_number + "_" + now + "_" + "p4:" + p4_number + "_" + p4_author + "." + self.suffix tools.UploadNexus(self.upload_path, self.local_name, upload_name) self.NoticeUpload(upload_name, p4_number, p4_author) return 0 if __name__ == '__main__': if (9 > len(sys.argv)): print("ERROR: args not enoug!") os._exit(-1) local_name = sys.argv[1] upload_path = sys.argv[2] upload_name_prex = sys.argv[3] build_version = sys.argv[4] build_number = sys.argv[5] p4path = sys.argv[6] notice_webhook = sys.argv[7] suffix = sys.argv[8] print("local_name %s" % local_name ) print("upload_path %s" % upload_path ) print("upload_name_prex %s" % upload_name_prex) print("build_version %s" % build_version ) print("build_number %s" % build_number ) print("p4path %s" % p4path ) print("notice_webhook %s" % notice_webhook ) process = CIProcess(local_name, upload_path, upload_name_prex, build_version, build_number, p4path, notice_webhook, suffix) # ret = task.Start(15, process) ret = process.Run() print("ret:%d" % ret) os._exit(ret)