1 2 3 4 5 6 | <?xml version="1.0" encoding="utf-8"?> <items> <item name="download source files" type="source" weekday="-1" time="7:-1" source="https://sample.sourcecode.com" target="C:\sourcetar\"/> </items> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | from xml.dom.minidom import parse, parseString from MyDownloadTask import MyDownloadTask def readFromProperty(xmlfile): tasklist = [] dom = parse(xmlfile) for node in dom.getElementsByTagName('item'): name = node.getAttribute('name') weekday = node.getAttribute('weekday') time = node.getAttribute('time') source = node.getAttribute('source') target = node.getAttribute('target') type = node.getAttribute('type') // 定义一个下载任务 task = MyDownloadTask() task.create(name, weekday, time, source, target, type) // 加入下载任务列表 tasklist.append(task) return tasklist |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | class MyDownloadTask(object): …… // 定义一些变量 def create(self, name, weekday, time, source, target, type): self.name = name self.weekday = int(weekday) self.source = source self.target = target index = time.find(":") self.hour = int(time[0:index]) self.minute = int(time[index+1:]) self.type = type def run() // 使用用户名和密码通过防火墙 password_mgr = urllib.request.HTTPPasswordMgrWithDefaultRealm() password_mgr.add_password(None, self.source, username, password) handler = urllib.request.HTTPBasicAuthHandler(password_mgr) opener = urllib.request.build_opener(handler) urllib.request.install_opener (opener) // 从站点下载文件 content = urllib.request.urlopen(self. source).read() f=open(self.target + self.buildno,"wb") f.write(content) f.close() |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | def deploybuild(self): … // 清理文件夹,将源代码解压到 d 盘 buildtar 目录 try: tar = tarfile.open(self.target + myHtml.srcbuild, "r:gz") for tarinfo in tar: print(tarinfo.name, "is", tarinfo.size, "bytes in size") tar.extractall("d:/buildtar") tar.close() except : … // 编译源代码 os.chdir("d:/buildtar") os.system("Ant all") // 关闭 web 服务 os.system("net stop \”servicename\""); … // 部署系统 // 开启 web 服务 os.system("net start \"servicename\"") |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | def runseleniumtestcase(self): // 下载测试脚本 os.chdir("d:/") os.system("Ant download-testcase -buildfile=task.xml") // 运行测试脚本 os.chdir("d:/v510") os.system("Ant start-selenium -buildfile=build.xml") <target name="download-testcase"> <delete dir ="v100"/> <property environment="env"/> <exec executable="cmd"> <env key="PATH" path="${env.PATH}:C:/Program Files/CollabNet Subversion Client"/> <arg value="/c"/> <arg value="svn"/> <arg value="checkout"/> <arg value="svn://9.19.199.9/web/v100"/> </exec> </target> |
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) | Powered by Discuz! 7.0.0 |