用python将jenkins构建的apk下载地载生成二维码提供下载
2015-06-29 11:23
369 查看
现在移动端的开发中很多团队都用到了jenkins+gradle对android代码打包成apk,然而apk怎么到我们的手机上呢,那就会想到用二维码扫描做这样一个简单的事情:
1、要知道jenkins项目的下载地址
2、要知道jenkins的工具空间及包的存放位置
3、要利用python生成二维码图片
4、要让将图片放入http中可以直接访问。
我只上一下简单的代码,其它的可以根据实际情况改,比如怎么通过文件名获取最新的apk,也可以从urllib从页面获取最新的apk等等
配置文件:
运行代码:提示这个是window下的,其实在linux会更好,因为要用到定时器,linux直接crontab就好了。
别忘记将图片移动到http可以访问的目录下。
1、要知道jenkins项目的下载地址
2、要知道jenkins的工具空间及包的存放位置
3、要利用python生成二维码图片
4、要让将图片放入http中可以直接访问。
我只上一下简单的代码,其它的可以根据实际情况改,比如怎么通过文件名获取最新的apk,也可以从urllib从页面获取最新的apk等等
配置文件:
[config] #jenkins地址 jenkins_address = http://192.168.1.82:8080 #jenkins中项目名称 project_name = projectname #jenkins工作空间 jenkins_space = C:\Users\Administrator\.jenkins #项目包存放位置 apk_home = build_apk
运行代码:提示这个是window下的,其实在linux会更好,因为要用到定时器,linux直接crontab就好了。
#-*-coding=utf-8 -*- import qrcode import time import os import ConfigParser #获取最新构建的数据包 class Qr_config(): def __init__(self): self.cf = ConfigParser.ConfigParser() self.cf.read("config.ini") self.jenkins_pro_address = self.cf.get("config", "jenkins_address") self.project_name = self.cf.get("config", "project_name") self.apk_home = self.cf.get("config", "apk_home") self.jenkins_space = self.cf.get("config", "jenkins_space") self.today_time = time.strftime("%Y-%m-%d") def get_apk_url(self): today_dir = "%s\\jobs\\%s\\workspace\\%s\\%s" % (self.jenkins_space, self.project_name, self.apk_home, self.today_time) if os.path.exists(today_dir): file_list = os.listdir(today_dir) file_name = file_list[-1] if file_name: down_url = "%s/job/%s/ws/%s/%s/%s" % (self.jenkins_pro_address, self.project_name, self.apk_home, self.today_time, file_name) return down_url else: print "文件不存在,今日构建失败!" else: print "今日不存在构建!" if __name__ == "__main__": link = Qr_config().get_apk_url() png = "C:\Users\\Administrator\\Desktop\\1.3.2top.png" qr = qrcode.QRCode(version=1, error_correction=qrcode.constants.ERROR_CORRECT_L, box_size=8, border=8,) qr.add_data(link) qr.make(fit=True) img = qr.make_image() img.save("android_qr_code.png", '')
别忘记将图片移动到http可以访问的目录下。
相关文章推荐
- 递归:若函数包含了对其自身的调用,该函数为递归的。《Python核心编程》P305
- python __init__.py
- python 正则表达式的处理
- Python Django 开发 2 数据库
- Python 深入理解yield
- 编写Python CGI脚本的教程
- 使用国内镜像源来加速python pypi包的安装
- python 常用包
- Python访问纯真IP数据库脚本分享
- Python Tips
- [Python] 利用Django进行Web开发系列(二)
- Python实现把数字转换成中文
- Python中if __name__ == '__main__'作用解析
- Python 文件目录操作
- Python实现函数重载
- Python 入门介绍(整理)
- windows下,python基于SocketServer模拟实现SSH(多线程版)
- Python学习笔记-遍历文件
- PAT Maximum subsequence sum (Python)
- PAT Shuffling machine (Python)